LLDB  mainline
Macros | Functions
ClangUserExpression.cpp File Reference
#include <stdio.h>
#include <cstdlib>
#include <map>
#include <string>
#include "ClangUserExpression.h"
#include "ASTResultSynthesizer.h"
#include "ClangDiagnostic.h"
#include "ClangExpressionDeclMap.h"
#include "ClangExpressionParser.h"
#include "ClangExpressionSourceCode.h"
#include "ClangModulesDeclVendor.h"
#include "ClangPersistentVariables.h"
#include "lldb/Core/Debugger.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/StreamFile.h"
#include "lldb/Core/ValueObjectConstResult.h"
#include "lldb/Expression/ExpressionSourceCode.h"
#include "lldb/Expression/IRExecutionUnit.h"
#include "lldb/Expression/IRInterpreter.h"
#include "lldb/Expression/Materializer.h"
#include "lldb/Host/HostInfo.h"
#include "lldb/Symbol/Block.h"
#include "lldb/Symbol/ClangASTContext.h"
#include "lldb/Symbol/ClangExternalASTSourceCommon.h"
#include "lldb/Symbol/CompileUnit.h"
#include "lldb/Symbol/Function.h"
#include "lldb/Symbol/ObjectFile.h"
#include "lldb/Symbol/SymbolVendor.h"
#include "lldb/Symbol/Type.h"
#include "lldb/Symbol/VariableList.h"
#include "lldb/Target/ExecutionContext.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/StackFrame.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/ThreadPlan.h"
#include "lldb/Target/ThreadPlanCallUserExpression.h"
#include "lldb/Utility/ConstString.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/StreamString.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclObjC.h"
#include "llvm/ADT/ScopeExit.h"
Include dependency graph for ClangUserExpression.cpp:

Go to the source code of this file.

Macros

#define OBJC_CAST_HACK_FROM   "(int)["
 
#define OBJC_CAST_HACK_TO   "(int)(long long)["
 

Functions

static void ApplyObjcCastHack (std::string &expr)
 
static void SetupDeclVendor (ExecutionContext &exe_ctx, Target *target)
 
static bool SupportsCxxModuleImport (lldb::LanguageType language)
 
static void AbsPosToLineColumnPos (size_t abs_pos, llvm::StringRef code, unsigned &line, unsigned &column)
 Converts an absolute position inside a given code string into a column/line pair. More...
 

Macro Definition Documentation

◆ OBJC_CAST_HACK_FROM

#define OBJC_CAST_HACK_FROM   "(int)["

Referenced by ApplyObjcCastHack().

◆ OBJC_CAST_HACK_TO

#define OBJC_CAST_HACK_TO   "(int)(long long)["

Referenced by ApplyObjcCastHack().

Function Documentation

◆ AbsPosToLineColumnPos()

static void AbsPosToLineColumnPos ( size_t  abs_pos,
llvm::StringRef  code,
unsigned &  line,
unsigned &  column 
)
static

Converts an absolute position inside a given code string into a column/line pair.

Parameters
[in]abs_posA absolute position in the code string that we want to convert to a column/line pair.
[in]codeA multi-line string usually representing source code.
[out]lineThe line in the code that contains the given absolute position. The first line in the string is indexed as 1.
[out]columnThe column in the line that contains the absolute position. The first character in a line is indexed as 0.

Definition at line 694 of file ClangUserExpression.cpp.

Referenced by lldb_private::ClangUserExpression::Complete().

◆ ApplyObjcCastHack()

static void ApplyObjcCastHack ( std::string &  expr)
static

◆ SetupDeclVendor()

static void SetupDeclVendor ( ExecutionContext exe_ctx,
Target target 
)
static

◆ SupportsCxxModuleImport()

static bool SupportsCxxModuleImport ( lldb::LanguageType  language)
static