|
LLDB mainline
|
#include <cstdio>#include <sys/types.h>#include <cstdlib>#include <map>#include <string>#include "ClangUserExpression.h"#include "ASTResultSynthesizer.h"#include "ClangASTMetadata.h"#include "ClangDiagnostic.h"#include "ClangExpressionDeclMap.h"#include "ClangExpressionParser.h"#include "ClangModulesDeclVendor.h"#include "ClangPersistentVariables.h"#include "CppModuleConfiguration.h"#include "Plugins/TypeSystem/Clang/TypeSystemClang.h"#include "lldb/Core/Debugger.h"#include "lldb/Core/Module.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/CompileUnit.h"#include "lldb/Symbol/Function.h"#include "lldb/Symbol/ObjectFile.h"#include "lldb/Symbol/SymbolFile.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/LLDBLog.h"#include "lldb/Utility/Log.h"#include "lldb/Utility/StreamString.h"#include "lldb/ValueObject/ValueObjectConstResult.h"#include "clang/AST/DeclCXX.h"#include "clang/AST/DeclObjC.h"#include "llvm/ADT/ScopeExit.h"#include "llvm/BinaryFormat/Dwarf.h"Go to the source code of this file.
Functions | |
| static void | ApplyObjcCastHack (std::string &expr) |
| static void | SetupDeclVendor (ExecutionContext &exe_ctx, Target *target, DiagnosticManager &diagnostic_manager) |
| static bool | SupportsCxxModuleImport (lldb::LanguageType language) |
| static CppModuleConfiguration | LogConfigError (const std::string &msg) |
| Utility method that puts a message into the expression log and returns an invalid module configuration. | |
| CppModuleConfiguration | GetModuleConfig (lldb::LanguageType language, ExecutionContext &exe_ctx) |
| static bool | shouldRetryWithCppModule (Target &target, ExecutionPolicy exe_policy) |
| 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. | |
|
static |
Converts an absolute position inside a given code string into a column/line pair.
| [in] | abs_pos | A absolute position in the code string that we want to convert to a column/line pair. |
| [in] | code | A multi-line string usually representing source code. |
| [out] | line | The line in the code that contains the given absolute position. The first line in the string is indexed as 1. |
| [out] | column | The column in the line that contains the absolute position. The first character in a line is indexed as 0. |
Definition at line 755 of file ClangUserExpression.cpp.
Referenced by lldb_private::ClangUserExpression::Complete().
|
static |
Definition at line 315 of file ClangUserExpression.cpp.
Referenced by lldb_private::ClangUserExpression::PrepareForParsing().
| CppModuleConfiguration GetModuleConfig | ( | lldb::LanguageType | language, |
| ExecutionContext & | exe_ctx ) |
Definition at line 457 of file ClangUserExpression.cpp.
References lldb_private::FileSpecList::AppendIfUnique(), lldb_private::Block::CalculateSymbolContext(), lldb_private::SymbolContext::comp_unit, lldb_private::Expressions, lldb_private::CompileUnit::ForEachExternalModule(), lldb_private::Target::GetArchitecture(), lldb_private::StackFrame::GetFrameBlock(), lldb_private::ExecutionContext::GetFramePtr(), lldb_private::GetLog(), lldb_private::Module::GetNumCompileUnits(), lldb_private::FileSpecList::GetSize(), lldb_private::CompileUnit::GetSupportFiles(), lldb_private::ExecutionContext::GetTargetPtr(), lldb_private::ArchSpec::GetTriple(), lldb_private::Log::GetVerbose(), LLDB_LOG, LLDB_LOGV, LogConfigError(), and SupportsCxxModuleImport().
Referenced by lldb_private::ClangUserExpression::SetupCppModuleImports().
|
static |
Utility method that puts a message into the expression log and returns an invalid module configuration.
Definition at line 451 of file ClangUserExpression.cpp.
References lldb_private::Expressions, lldb_private::GetLog(), and LLDB_LOG.
Referenced by GetModuleConfig().
|
static |
Definition at line 346 of file ClangUserExpression.cpp.
References lldb_private::Block::CalculateSymbolContext(), lldb_private::SymbolContext::comp_unit, lldb::eLanguageTypeC, lldb_private::Expressions, lldb_private::TargetProperties::GetEnableAutoImportClangModules(), lldb_private::StackFrame::GetFrameBlock(), lldb_private::ExecutionContext::GetFramePtr(), lldb_private::GetLog(), lldb_private::Target::GetPersistentExpressionStateForLanguage(), and LLDB_LOG.
Referenced by lldb_private::ClangUserExpression::PrepareForParsing().
|
static |
Definition at line 633 of file ClangUserExpression.cpp.
References lldb_private::eExecutionPolicyTopLevel, lldb_private::eImportStdModuleFallback, and lldb_private::TargetProperties::GetImportStdModule().
Referenced by lldb_private::ClangUserExpression::Parse().
|
static |
Definition at line 436 of file ClangUserExpression.cpp.
References lldb::eLanguageTypeC_plus_plus, lldb::eLanguageTypeC_plus_plus_03, lldb::eLanguageTypeC_plus_plus_11, lldb::eLanguageTypeC_plus_plus_14, and lldb::eLanguageTypeObjC_plus_plus.
Referenced by GetModuleConfig().