mirror of
https://github.com/opnsense/src.git
synced 2026-02-28 04:10:49 -05:00
This corresponds with the branchpoint for the 3.5 release. A number of files not required for the FreeBSD build have been removed. Sponsored by: DARPA, AFRL
81 lines
2.1 KiB
C++
81 lines
2.1 KiB
C++
//===-- ExpressionSourceCode.h ----------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef liblldb_ExpressionSourceCode_h
|
|
#define liblldb_ExpressionSourceCode_h
|
|
|
|
#include "lldb/lldb-enumerations.h"
|
|
|
|
#include <string>
|
|
|
|
namespace lldb_private
|
|
{
|
|
|
|
class ExecutionContext;
|
|
|
|
class ExpressionSourceCode
|
|
{
|
|
public:
|
|
static const char * g_expression_prefix;
|
|
|
|
static ExpressionSourceCode *CreateWrapped (const char *prefix,
|
|
const char *body)
|
|
{
|
|
return new ExpressionSourceCode ("$__lldb_expr",
|
|
prefix,
|
|
body,
|
|
true);
|
|
}
|
|
|
|
static ExpressionSourceCode *CreateUnwrapped (const char *name,
|
|
const char *body)
|
|
{
|
|
return new ExpressionSourceCode (name,
|
|
"",
|
|
body,
|
|
false);
|
|
}
|
|
|
|
bool NeedsWrapping () const
|
|
{
|
|
return m_wrap;
|
|
}
|
|
|
|
const char *GetName () const
|
|
{
|
|
return m_name.c_str();
|
|
}
|
|
|
|
bool GetText (std::string &text,
|
|
lldb::LanguageType wrapping_language,
|
|
bool const_object,
|
|
bool static_method,
|
|
ExecutionContext &exe_ctx) const;
|
|
|
|
private:
|
|
ExpressionSourceCode (const char *name,
|
|
const char *prefix,
|
|
const char *body,
|
|
bool wrap) :
|
|
m_name(name),
|
|
m_prefix(prefix),
|
|
m_body(body),
|
|
m_wrap(wrap)
|
|
{
|
|
}
|
|
|
|
std::string m_name;
|
|
std::string m_prefix;
|
|
std::string m_body;
|
|
bool m_wrap;
|
|
};
|
|
|
|
} // namespace lldb_private
|
|
|
|
#endif
|