LLDB mainline
|
#include <SymbolFileDWARFDebugMap.h>
Classes | |
struct | CompileUnitInfo |
class | OSOEntry |
struct | OSOInfo |
Public Member Functions | |
SymbolFileDWARFDebugMap (lldb::ObjectFileSP objfile_sp) | |
~SymbolFileDWARFDebugMap () override | |
uint32_t | CalculateAbilities () override |
void | InitializeObject () override |
Initialize the SymbolFile object. | |
lldb::LanguageType | ParseLanguage (CompileUnit &comp_unit) override |
XcodeSDK | ParseXcodeSDK (CompileUnit &comp_unit) override |
Return the Xcode SDK comp_unit was compiled against. | |
llvm::SmallSet< lldb::LanguageType, 4 > | ParseAllLanguages (CompileUnit &comp_unit) override |
This function exists because SymbolFileDWARFDebugMap may extra compile units which aren't exposed as "real" compile units. | |
size_t | ParseFunctions (CompileUnit &comp_unit) override |
bool | ParseLineTable (CompileUnit &comp_unit) override |
bool | ParseDebugMacros (CompileUnit &comp_unit) override |
bool | ForEachExternalModule (CompileUnit &, llvm::DenseSet< SymbolFile * > &, llvm::function_ref< bool(Module &)>) override |
bool | ParseSupportFiles (CompileUnit &comp_unit, SupportFileList &support_files) override |
bool | ParseIsOptimized (CompileUnit &comp_unit) override |
size_t | ParseTypes (CompileUnit &comp_unit) override |
bool | ParseImportedModules (const SymbolContext &sc, std::vector< SourceModule > &imported_modules) override |
size_t | ParseBlocksRecursive (Function &func) override |
size_t | ParseVariablesForContext (const SymbolContext &sc) override |
Type * | ResolveTypeUID (lldb::user_id_t type_uid) override |
std::optional< ArrayInfo > | GetDynamicArrayInfoForUID (lldb::user_id_t type_uid, const ExecutionContext *exe_ctx) override |
If type_uid points to an array type, return its characteristics. | |
CompilerDeclContext | GetDeclContextForUID (lldb::user_id_t uid) override |
CompilerDeclContext | GetDeclContextContainingUID (lldb::user_id_t uid) override |
std::vector< CompilerContext > | GetCompilerContextForUID (lldb::user_id_t uid) override |
void | ParseDeclsForContext (CompilerDeclContext decl_ctx) override |
bool | CompleteType (CompilerType &compiler_type) override |
uint32_t | ResolveSymbolContext (const Address &so_addr, lldb::SymbolContextItem resolve_scope, SymbolContext &sc) override |
uint32_t | ResolveSymbolContext (const SourceLocationSpec &src_location_spec, lldb::SymbolContextItem resolve_scope, SymbolContextList &sc_list) override |
Status | CalculateFrameVariableError (StackFrame &frame) override |
Subclasses will override this function to for GetFrameVariableError(). | |
void | FindGlobalVariables (ConstString name, const CompilerDeclContext &parent_decl_ctx, uint32_t max_matches, VariableList &variables) override |
void | FindGlobalVariables (const RegularExpression ®ex, uint32_t max_matches, VariableList &variables) override |
void | FindFunctions (const Module::LookupInfo &lookup_info, const CompilerDeclContext &parent_decl_ctx, bool include_inlines, SymbolContextList &sc_list) override |
void | FindFunctions (const RegularExpression ®ex, bool include_inlines, SymbolContextList &sc_list) override |
void | FindTypes (const lldb_private::TypeQuery &match, lldb_private::TypeResults &results) override |
Find types using a type-matching object that contains all search parameters. | |
CompilerDeclContext | FindNamespace (ConstString name, const CompilerDeclContext &parent_decl_ctx, bool only_root_namespaces) override |
Finds a namespace of name name and whose parent context is parent_decl_ctx. | |
void | GetTypes (SymbolContextScope *sc_scope, lldb::TypeClass type_mask, TypeList &type_list) override |
std::vector< std::unique_ptr< CallEdge > > | ParseCallEdgesInFunction (UserID func_id) override |
void | DumpClangAST (Stream &s, llvm::StringRef filter, bool show_color) override |
bool | GetSeparateDebugInfo (StructuredData::Dictionary &d, bool errors_only, bool load_all_debug_info=false) override |
List separate oso files. | |
llvm::StringRef | GetPluginName () override |
ModuleList | GetDebugInfoModules () override |
Get the additional modules that this symbol file uses to parse debug info. | |
void | GetCompileOptions (std::unordered_map< lldb::CompUnitSP, Args > &args) override |
llvm::Expected< SymbolContext > | ResolveFunctionCallLabel (FunctionCallLabel &label) override |
Resolves the function corresponding to the specified LLDB function call label . | |
Public Member Functions inherited from lldb_private::SymbolFileCommon | |
SymbolFileCommon (lldb::ObjectFileSP objfile_sp) | |
~SymbolFileCommon () override=default | |
uint32_t | GetAbilities () override |
Get a mask of what this symbol file supports for the object file that it was constructed with. | |
Symtab * | GetSymtab (bool can_create=true) override |
ObjectFile * | GetObjectFile () override |
const ObjectFile * | GetObjectFile () const override |
ObjectFile * | GetMainObjectFile () override |
void | SectionFileAddressesChanged () override |
Notify the SymbolFile that the file addresses in the Sections for this module have been changed. | |
uint32_t | GetNumCompileUnits () override |
lldb::CompUnitSP | GetCompileUnitAtIndex (uint32_t idx) override |
llvm::Expected< lldb::TypeSystemSP > | GetTypeSystemForLanguage (lldb::LanguageType language) override |
void | Dump (Stream &s) override |
uint64_t | GetDebugInfoSize (bool load_all_debug_info=false) override |
Metrics gathering functions. | |
bool | GetDebugInfoIndexWasLoadedFromCache () const override |
Accessors for the bool that indicates if the debug info index was loaded from, or saved to the module index cache. | |
void | SetDebugInfoIndexWasLoadedFromCache () override |
bool | GetDebugInfoIndexWasSavedToCache () const override |
void | SetDebugInfoIndexWasSavedToCache () override |
bool | GetDebugInfoHadFrameVariableErrors () const override |
Accessors for the bool that indicates if there was debug info, but errors stopped variables from being able to be displayed correctly. | |
void | SetDebugInfoHadFrameVariableErrors () override |
lldb::TypeSP | MakeType (lldb::user_id_t uid, ConstString name, std::optional< uint64_t > byte_size, SymbolContextScope *context, lldb::user_id_t encoding_uid, Type::EncodingDataType encoding_uid_type, const Declaration &decl, const CompilerType &compiler_qual_type, Type::ResolveState compiler_type_resolve_state, uint32_t opaque_payload=0) override |
This function is used to create types that belong to a SymbolFile. | |
lldb::TypeSP | CopyType (const lldb::TypeSP &other_type) override |
Public Member Functions inherited from lldb_private::SymbolFile | |
SymbolFile ()=default | |
~SymbolFile () override=default | |
virtual SymbolFile * | GetBackingSymbolFile () |
SymbolFileOnDemand class overrides this to return the underlying backing SymbolFile implementation that loads on-demand. | |
virtual std::recursive_mutex & | GetModuleMutex () const |
Symbols file subclasses should override this to return the Module that owns the TypeSystem that this symbol file modifies type information in. | |
virtual bool | GetLoadDebugInfoEnabled () |
Whether debug info will be loaded or not. | |
virtual void | SetLoadDebugInfoEnabled () |
Specify debug info should be loaded. | |
virtual bool | ForEachExternalModule (lldb_private::CompileUnit &comp_unit, llvm::DenseSet< lldb_private::SymbolFile * > &visited_symbol_files, llvm::function_ref< bool(Module &)> lambda) |
Apply a lambda to each external lldb::Module referenced by this comp_unit . | |
virtual CompilerDecl | GetDeclForUID (lldb::user_id_t uid) |
Status | GetFrameVariableError (StackFrame &frame) |
Get an error that describes why variables might be missing for a given symbol context. | |
virtual void | GetMangledNamesForFunction (const std::string &scope_qualified_name, std::vector< ConstString > &mangled_names) |
virtual void | PreloadSymbols () |
virtual void | AddSymbols (Symtab &symtab) |
virtual lldb::UnwindPlanSP | GetUnwindPlan (const Address &address, const RegisterInfoResolver &resolver) |
virtual llvm::Expected< lldb::addr_t > | GetParameterStackSize (Symbol &symbol) |
Return the number of stack bytes taken up by the parameters to this function. | |
virtual StatsDuration::Duration | GetDebugInfoParseTime () |
Return the time taken to parse the debug information. | |
virtual StatsDuration::Duration | GetDebugInfoIndexTime () |
Return the time it took to index the debug information in the object file. | |
virtual void | ResetStatistics () |
Reset the statistics for the symbol file. | |
virtual DWOStats | GetDwoStats () |
Retrieves statistics about DWO files associated with this symbol file. | |
std::unordered_map< lldb::CompUnitSP, Args > | GetCompileOptions () |
Returns a map of compilation unit to the compile option arguments associated with that compilation unit. | |
std::string | GetObjectName () const |
Public Member Functions inherited from lldb_private::PluginInterface | |
PluginInterface ()=default | |
virtual | ~PluginInterface ()=default |
PluginInterface (const PluginInterface &)=delete | |
PluginInterface & | operator= (const PluginInterface &)=delete |
Static Public Member Functions | |
static void | Initialize () |
static void | Terminate () |
static llvm::StringRef | GetPluginNameStatic () |
static llvm::StringRef | GetPluginDescriptionStatic () |
static SymbolFile * | CreateInstance (lldb::ObjectFileSP objfile_sp) |
static bool | classof (const SymbolFileCommon *obj) |
Static Public Member Functions inherited from lldb_private::SymbolFile | |
static SymbolFile * | FindPlugin (lldb::ObjectFileSP objfile_sp) |
static bool | classof (const SymbolFile *obj) |
Protected Types | |
enum | { kHaveInitializedOSOs = (1 << 0) , kNumFlags } |
typedef std::shared_ptr< OSOInfo > | OSOInfoSP |
typedef RangeDataVector< lldb::addr_t, lldb::addr_t, lldb::addr_t > | FileRangeMap |
typedef RangeDataVector< lldb::addr_t, lldb::addr_t, OSOEntry > | DebugMap |
Protected Member Functions | |
void | InitOSO () |
uint32_t | CalculateNumCompileUnits () override |
This function actually returns the number of object files, which may be less than the actual number of compile units, since an object file may contain more than one compile unit. | |
lldb::CompUnitSP | ParseCompileUnitAtIndex (uint32_t index) override |
This function actually returns the first compile unit the object file at the given index contains. | |
bool | GetFileSpecForSO (uint32_t oso_idx, FileSpec &file_spec) |
CompileUnitInfo * | GetCompUnitInfo (const SymbolContext &sc) |
CompileUnitInfo * | GetCompUnitInfo (const CompileUnit &comp_unit) |
size_t | GetCompUnitInfosForModule (const Module *oso_module, std::vector< CompileUnitInfo * > &cu_infos) |
Module * | GetModuleByCompUnitInfo (CompileUnitInfo *comp_unit_info) |
Module * | GetModuleByOSOIndex (uint32_t oso_idx) |
ObjectFile * | GetObjectFileByCompUnitInfo (CompileUnitInfo *comp_unit_info) |
ObjectFile * | GetObjectFileByOSOIndex (uint32_t oso_idx) |
uint32_t | GetCompUnitInfoIndex (const CompileUnitInfo *comp_unit_info) |
SymbolFileDWARF * | GetSymbolFile (const SymbolContext &sc) |
SymbolFileDWARF * | GetSymbolFile (const CompileUnit &comp_unit) |
SymbolFileDWARF * | GetSymbolFileByCompUnitInfo (CompileUnitInfo *comp_unit_info) |
SymbolFileDWARF * | GetSymbolFileByOSOIndex (uint32_t oso_idx) |
void | ForEachSymbolFile (std::string description, std::function< IterationAction(SymbolFileDWARF &)> closure) |
If closure returns IterationAction::Continue, iteration continues. | |
CompileUnitInfo * | GetCompileUnitInfoForSymbolWithIndex (uint32_t symbol_idx, uint32_t *oso_idx_ptr) |
CompileUnitInfo * | GetCompileUnitInfoForSymbolWithID (lldb::user_id_t symbol_id, uint32_t *oso_idx_ptr) |
void | PrivateFindGlobalVariables (ConstString name, const CompilerDeclContext &parent_decl_ctx, const std::vector< uint32_t > &name_symbol_indexes, uint32_t max_matches, VariableList &variables) |
void | SetCompileUnit (SymbolFileDWARF *oso_dwarf, const lldb::CompUnitSP &cu_sp) |
lldb::CompUnitSP | GetCompileUnit (SymbolFileDWARF *oso_dwarf, DWARFCompileUnit &dwarf_cu) |
Returns the compile unit associated with the dwarf compile unit. | |
CompileUnitInfo * | GetCompileUnitInfo (SymbolFileDWARF *oso_dwarf) |
DWARFDIE | FindDefinitionDIE (const DWARFDIE &die) |
lldb::TypeSP | FindCompleteObjCDefinitionTypeForDIE (const DWARFDIE &die, ConstString type_name, bool must_be_implementation) |
llvm::DenseMap< lldb::opaque_compiler_type_t, DIERef > & | GetForwardDeclCompilerTypeToDIE () |
UniqueDWARFASTTypeMap & | GetUniqueDWARFASTTypeMap () |
llvm::DenseMap< const DWARFDebugInfoEntry *, Type * > & | GetDIEToType () |
bool | AddOSOFileRange (CompileUnitInfo *cu_info, lldb::addr_t exe_file_addr, lldb::addr_t exe_byte_size, lldb::addr_t oso_file_addr, lldb::addr_t oso_byte_size) |
void | FinalizeOSOFileRanges (CompileUnitInfo *cu_info) |
bool | LinkOSOAddress (Address &addr) |
Convert addr from a .o file address, to an executable address. | |
lldb::addr_t | LinkOSOFileAddress (SymbolFileDWARF *oso_symfile, lldb::addr_t oso_file_addr) |
Convert a .o file "file address" to an executable "file address". | |
LineTable * | LinkOSOLineTable (SymbolFileDWARF *oso_symfile, LineTable *line_table) |
Given a line table full of lines with "file addresses" that are for a .o file represented by oso_symfile, link a new line table and return it. | |
size_t | AddOSOARanges (SymbolFileDWARF *dwarf2Data, DWARFDebugAranges *debug_aranges) |
Protected Member Functions inherited from lldb_private::SymbolFileCommon | |
virtual TypeList & | GetTypeList () |
void | SetCompileUnitAtIndex (uint32_t idx, const lldb::CompUnitSP &cu_sp) |
Protected Member Functions inherited from lldb_private::SymbolFile | |
void | AssertModuleLock () |
virtual void | GetCompileOptions (std::unordered_map< lldb::CompUnitSP, lldb_private::Args > &args) |
Static Protected Member Functions | |
static uint32_t | GetOSOIndexFromUserID (lldb::user_id_t uid) |
static SymbolFileDWARF * | GetSymbolFileAsSymbolFileDWARF (SymbolFile *sym_file) |
static int | SymbolContainsSymbolWithIndex (uint32_t *symbol_idx_ptr, const CompileUnitInfo *comp_unit_info) |
static int | SymbolContainsSymbolWithID (lldb::user_id_t *symbol_idx_ptr, const CompileUnitInfo *comp_unit_info) |
Protected Attributes | |
std::bitset< kNumFlags > | m_flags |
std::vector< CompileUnitInfo > | m_compile_unit_infos |
std::vector< uint32_t > | m_func_indexes |
std::vector< uint32_t > | m_glob_indexes |
std::map< std::pair< ConstString, llvm::sys::TimePoint<> >, OSOInfoSP > | m_oso_map |
llvm::DenseMap< lldb::opaque_compiler_type_t, DIERef > | m_forward_decl_compiler_type_to_die |
UniqueDWARFASTTypeMap | m_unique_ast_type_map |
llvm::DenseMap< const DWARFDebugInfoEntry *, Type * > | m_die_to_type |
DebugMap | m_debug_map |
Protected Attributes inherited from lldb_private::SymbolFileCommon | |
lldb::ObjectFileSP | m_objfile_sp |
std::optional< std::vector< lldb::CompUnitSP > > | m_compile_units |
TypeList | m_type_list |
uint32_t | m_abilities = 0 |
bool | m_calculated_abilities = false |
bool | m_index_was_loaded_from_cache = false |
bool | m_index_was_saved_to_cache = false |
bool | m_debug_info_had_variable_errors = false |
Set to true if any variable feteching errors have been found when calling GetFrameVariableError(). |
Static Private Attributes | |
static char | ID |
LLVM RTTI support. |
Friends | |
class | DebugMapModule |
class | ::DWARFASTParserClang |
class | DWARFCompileUnit |
class | SymbolFileDWARF |
bool | isA (const void *ClassID) const override |
LLVM RTTI support. | |
static bool | classof (const SymbolFile *obj) |
Additional Inherited Members | |
Public Types inherited from lldb_private::SymbolFile | |
enum | Abilities { CompileUnits = (1u << 0) , LineTables = (1u << 1) , Functions = (1u << 2) , Blocks = (1u << 3) , GlobalVariables = (1u << 4) , LocalVariables = (1u << 5) , VariableTypes = (1u << 6) , kAllAbilities = ((1u << 7) - 1u) } |
Definition at line 34 of file SymbolFileDWARFDebugMap.h.
|
protected |
Definition at line 320 of file SymbolFileDWARFDebugMap.h.
|
protected |
Definition at line 167 of file SymbolFileDWARFDebugMap.h.
|
protected |
Definition at line 164 of file SymbolFileDWARFDebugMap.h.
|
protected |
Enumerator | |
---|---|
kHaveInitializedOSOs | |
kNumFlags |
Definition at line 152 of file SymbolFileDWARFDebugMap.h.
SymbolFileDWARFDebugMap::SymbolFileDWARFDebugMap | ( | lldb::ObjectFileSP | objfile_sp | ) |
Definition at line 252 of file SymbolFileDWARFDebugMap.cpp.
References m_compile_unit_infos, m_flags, m_func_indexes, m_glob_indexes, and lldb_private::SymbolFileCommon::SymbolFileCommon().
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::CompileUnitInfo(), CreateInstance(), and lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap().
|
overridedefault |
|
protected |
Definition at line 1516 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::DWARFDebugAranges::AppendRange(), GetCompileUnitInfo(), lldb_private::RangeDataVector< B, S, T, N, Compare >::GetEntryAtIndex(), lldb_private::plugin::dwarf::SymbolFileDWARF::GetFileIndex(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), lldb_private::Range< B, S >::GetRangeBase(), lldb_private::Range< B, S >::GetRangeEnd(), lldb_private::RangeDataVector< B, S, T, N, Compare >::GetSize(), and SymbolFileDWARF.
Referenced by lldb_private::plugin::dwarf::DWARFCompileUnit::BuildAddressRangeTable().
|
protected |
Definition at line 1416 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::RangeDataVector< B, S, T, N, Compare >::Append(), lldb_private::RangeData< B, S, T >::data, lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::file_range_map, m_debug_map, and UINT32_MAX.
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 567 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::Blocks, lldb_private::SymbolFile::CompileUnits, lldb_private::SymbolFile::Functions, lldb_private::SymbolFileCommon::GetNumCompileUnits(), lldb_private::SymbolFile::GlobalVariables, InitOSO(), lldb_private::SymbolFile::LineTables, lldb_private::SymbolFile::LocalVariables, m_compile_unit_infos, and lldb_private::SymbolFile::VariableTypes.
|
overridevirtual |
Subclasses will override this function to for GetFrameVariableError().
This allows GetFrameVariableError() to set the member variable m_debug_info_had_variable_errors correctly without users having to do it manually which is error prone.
Reimplemented from lldb_private::SymbolFile.
Definition at line 1552 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Status::Clone(), lldb_private::RangeData< B, S, T >::data, lldb_private::Status::Fail(), lldb_private::Status::FromErrorStringWithFormat(), GetCompileUnitInfoForSymbolWithID(), lldb_private::ConstString::GetCString(), lldb_private::Address::GetFileAddress(), lldb_private::StackFrame::GetFrameCodeAddress(), lldb_private::SymbolFile::GetFrameVariableError(), lldb_private::Symbol::GetID(), lldb_private::Address::GetModule(), GetModuleByCompUnitInfo(), lldb_private::SymbolFile::GetModuleMutex(), lldb_private::Module::GetSymbolFile(), m_debug_map, lldb_private::SymbolFileCommon::m_objfile_sp, lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::oso_load_error, lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::oso_path, lldb_private::Status, lldb_private::Symtab::SymbolAtIndex(), and lldb_private::SymbolFile::SymbolFile().
|
overrideprotectedvirtual |
This function actually returns the number of object files, which may be less than the actual number of compile units, since an object file may contain more than one compile unit.
SymbolFileDWARFDebugMap looks up the number of compile units by reading the nlist symbol table, which currently, on macOS, only reports one compile unit per object file, and there's no efficient way to calculate the actual number of compile units upfront.
Implements lldb_private::SymbolFileCommon.
Definition at line 586 of file SymbolFileDWARFDebugMap.cpp.
References InitOSO(), and m_compile_unit_infos.
|
inlinestatic |
Definition at line 44 of file SymbolFileDWARFDebugMap.h.
References ID, lldb_private::SymbolFile::isA(), and lldb_private::SymbolFile::SymbolFile().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 822 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::SymbolFileDWARF::CompleteType(), lldb_private::Continue, ForEachSymbolFile(), lldb_private::plugin::dwarf::SymbolFileDWARF::HasForwardDeclForCompilerType(), lldb_private::Stop, and SymbolFileDWARF.
|
static |
Definition at line 248 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::SymbolFile(), and SymbolFileDWARFDebugMap().
Referenced by Initialize(), and Terminate().
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1270 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::SymbolFileDWARF::DumpClangAST(), ForEachSymbolFile(), lldb_private::Stop, and SymbolFileDWARF.
|
protected |
Definition at line 1440 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::RangeData< B, S, T >::data, lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::file_range_map, lldb_private::Range< B, S >::GetByteSize(), lldb_private::RangeDataVector< B, S, T, N, Compare >::GetEntryRef(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), lldb_private::Range< B, S >::GetRangeBase(), lldb_private::Range< B, S >::GetRangeEnd(), lldb_private::RangeDataVector< B, S, T, N, Compare >::GetSize(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::oso_sp, and lldb_private::RangeDataVector< B, S, T, N, Compare >::Sort().
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap().
|
protected |
Definition at line 1179 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Continue, lldb_private::Symtab::eDebugAny, lldb::eSymbolTypeObjCClass, lldb::eSymbolTypeSourceFile, lldb_private::Symtab::eVisibilityAny, lldb_private::plugin::dwarf::SymbolFileDWARF::FindCompleteObjCDefinitionTypeForDIE(), lldb_private::Symtab::FindFirstSymbolWithNameAndType(), ForEachSymbolFile(), GetCompileUnitInfoForSymbolWithIndex(), lldb_private::Symtab::GetIndexForSymbol(), lldb_private::Symtab::GetParent(), GetSymbolFileByCompUnitInfo(), lldb_private::ObjectFile::GetSymtab(), lldb_private::Symbol::GetType(), lldb_private::SymbolFileCommon::m_objfile_sp, lldb_private::Stop, SymbolFileDWARF, and UINT32_MAX.
Referenced by DWARFASTParserClang::ParseStructureLikeDIE().
Definition at line 1169 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Continue, lldb_private::plugin::dwarf::SymbolFileDWARF::FindDefinitionDIE(), ForEachSymbolFile(), lldb_private::Stop, and SymbolFileDWARF.
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARF::CompleteType(), and DWARFASTParserClang::ParseEnum().
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1094 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Continue, lldb_private::plugin::dwarf::SymbolFileDWARF::FindFunctions(), ForEachSymbolFile(), lldb_private::ConstString::GetCString(), lldb_private::Module::LookupInfo::GetLookupName(), lldb_private::SymbolFile::GetModuleMutex(), lldb_private::SymbolContextList::GetSize(), lldb_private::SymbolContextList::IsEmpty(), LLDB_SCOPED_TIMERF, lldb_private::SymbolFileCommon::m_objfile_sp, RemoveFunctionsWithModuleNotEqualTo(), and SymbolFileDWARF.
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1114 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Continue, lldb_private::plugin::dwarf::SymbolFileDWARF::FindFunctions(), ForEachSymbolFile(), lldb_private::SymbolFile::GetModuleMutex(), lldb_private::SymbolContextList::GetSize(), lldb_private::RegularExpression::GetText(), lldb_private::SymbolContextList::IsEmpty(), LLDB_SCOPED_TIMERF, lldb_private::SymbolFileCommon::m_objfile_sp, RemoveFunctionsWithModuleNotEqualTo(), and SymbolFileDWARF.
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 971 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Continue, lldb_private::plugin::dwarf::SymbolFileDWARF::FindGlobalVariables(), ForEachSymbolFile(), lldb_private::SymbolFile::GetModuleMutex(), lldb_private::VariableList::GetSize(), lldb_private::Stop, SymbolFileDWARF, and UINT32_MAX.
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 939 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Continue, lldb_private::plugin::dwarf::SymbolFileDWARF::FindGlobalVariables(), ForEachSymbolFile(), lldb_private::SymbolFile::GetModuleMutex(), lldb_private::VariableList::GetSize(), lldb_private::Stop, SymbolFileDWARF, and UINT32_MAX.
|
overridevirtual |
Finds a namespace of name name and whose parent context is parent_decl_ctx.
If
then this function will consider all namespaces that match the name. If only_root_namespaces is true, only consider in the search those DIEs that represent top-level namespaces.
Reimplemented from lldb_private::SymbolFile.
Definition at line 1253 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Continue, lldb_private::plugin::dwarf::SymbolFileDWARF::FindNamespace(), ForEachSymbolFile(), lldb_private::SymbolFile::GetModuleMutex(), lldb_private::Stop, and SymbolFileDWARF.
|
overridevirtual |
Find types using a type-matching object that contains all search parameters.
[in] | query | A type matching object that contains all of the details of the type search. |
[in] | results | Any matching types will be populated into the results object using TypeMap::InsertUnique(...). |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1243 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Continue, lldb_private::TypeResults::Done(), lldb_private::plugin::dwarf::SymbolFileDWARF::FindTypes(), ForEachSymbolFile(), lldb_private::SymbolFile::GetModuleMutex(), lldb_private::Stop, and SymbolFileDWARF.
|
override |
Definition at line 737 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::SymbolFileDWARF::ForEachExternalModule(), lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and SymbolFileDWARF.
|
protected |
If closure returns IterationAction::Continue, iteration continues.
Otherwise, iteration terminates.
Definition at line 721 of file SymbolFileDWARFDebugMap.cpp.
References GetSymbolFileByOSOIndex(), lldb_private::Progress::Increment(), lldb_private::Progress::kDefaultHighFrequencyReportTime, m_compile_unit_infos, lldb_private::Stop, and SymbolFileDWARF.
Referenced by CompleteType(), DumpClangAST(), FindCompleteObjCDefinitionTypeForDIE(), FindDefinitionDIE(), FindFunctions(), FindFunctions(), FindGlobalVariables(), FindGlobalVariables(), FindNamespace(), FindTypes(), GetCompileOptions(), GetDebugInfoModules(), GetTypes(), and ParseDeclsForContext().
|
override |
Definition at line 1598 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Continue, ForEachSymbolFile(), lldb_private::plugin::dwarf::SymbolFileDWARF::GetCompileOptions(), and SymbolFileDWARF.
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1401 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::SymbolFileDWARF::GetCompilerContextForUID(), GetOSOIndexFromUserID(), GetSymbolFileByOSOIndex(), and SymbolFileDWARF.
|
protected |
Returns the compile unit associated with the dwarf compile unit.
This may be one of the extra compile units an object file contains which isn't reachable by ParseCompileUnitAtIndex(uint32_t).
Definition at line 1320 of file SymbolFileDWARFDebugMap.cpp.
References DWARFCompileUnit, lldb_private::UserID::GetID(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), GetSymbolFileByCompUnitInfo(), m_compile_unit_infos, ParseCompileUnitAtIndex(), and SymbolFileDWARF.
|
protected |
Definition at line 1343 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFileCommon::GetNumCompileUnits(), GetSymbolFileByCompUnitInfo(), m_compile_unit_infos, and SymbolFileDWARF.
Referenced by AddOSOARanges(), lldb_private::plugin::dwarf::DWARFCompileUnit::BuildAddressRangeTable(), LinkOSOAddress(), LinkOSOFileAddress(), and LinkOSOLineTable().
|
protected |
Definition at line 1050 of file SymbolFileDWARFDebugMap.cpp.
References m_compile_unit_infos, SymbolContainsSymbolWithID(), and UINT32_MAX.
Referenced by CalculateFrameVariableError().
|
protected |
Definition at line 1029 of file SymbolFileDWARFDebugMap.cpp.
References m_compile_unit_infos, SymbolContainsSymbolWithIndex(), and UINT32_MAX.
Referenced by FindCompleteObjCDefinitionTypeForDIE(), and PrivateFindGlobalVariables().
|
protected |
Definition at line 644 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::UserID::GetID(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), and m_compile_unit_infos.
|
protected |
Definition at line 639 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolContext::comp_unit, and GetCompUnitInfo().
Referenced by GetCompUnitInfo(), GetSymbolFile(), GetTypes(), and ParseAllLanguages().
|
protected |
Definition at line 532 of file SymbolFileDWARFDebugMap.cpp.
References m_compile_unit_infos, and UINT32_MAX.
Referenced by GetModuleByCompUnitInfo().
|
protected |
Definition at line 658 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByCompUnitInfo(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), and m_compile_unit_infos.
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap().
|
overridevirtual |
Get the additional modules that this symbol file uses to parse debug info.
Some debug info is stored in stand alone object files that are represented by unique modules that will show up in the statistics module list. Return a list of modules that are not in the target module list that this symbol file is currently using so that they can be tracked and assoicated with the module in the statistics.
Reimplemented from lldb_private::SymbolFile.
Definition at line 1538 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::ModuleList::Append(), lldb_private::Continue, ForEachSymbolFile(), lldb_private::ModuleChild::GetModule(), lldb_private::SymbolFileCommon::GetObjectFile(), and SymbolFileDWARF.
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1393 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::SymbolFileDWARF::GetDeclContextContainingUID(), GetOSOIndexFromUserID(), GetSymbolFileByOSOIndex(), and SymbolFileDWARF.
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1385 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::SymbolFileDWARF::GetDeclContextForUID(), GetOSOIndexFromUserID(), GetSymbolFileByOSOIndex(), and SymbolFileDWARF.
|
inlineprotected |
Definition at line 291 of file SymbolFileDWARFDebugMap.h.
References m_die_to_type.
|
overridevirtual |
If type_uid
points to an array type, return its characteristics.
To support variable-length array types, this function takes an optional ExecutionContext
. If exe_ctx
is non-null, the dynamic characteristics for that context are returned.
Implements lldb_private::SymbolFile.
Definition at line 813 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::SymbolFileDWARF::GetDynamicArrayInfoForUID(), GetOSOIndexFromUserID(), GetSymbolFileByOSOIndex(), and SymbolFileDWARF.
Definition at line 493 of file SymbolFileDWARFDebugMap.cpp.
References m_compile_unit_infos.
Referenced by ParseCompileUnitAtIndex().
|
inlineprotected |
Definition at line 283 of file SymbolFileDWARFDebugMap.h.
References m_forward_decl_compiler_type_to_die.
|
protected |
Definition at line 405 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::ConstString::AsCString(), lldb_private::Status::AsCString(), lldb_private::Status::FromErrorStringWithFormat(), GetCompUnitInfoIndex(), lldb_private::ConstString::GetCString(), lldb_private::ModuleChild::GetModule(), lldb_private::SymbolFileCommon::GetObjectFile(), lldb_private::FileSpec::GetPath(), lldb_private::FileSystem::Instance(), lldb_private::SymbolFileCommon::m_objfile_sp, m_oso_map, lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::oso_load_error, lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::oso_mod_time, lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::oso_path, lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::oso_sp, lldb_private::ArchSpec::SetTriple(), and lldb_private::ObjectFile::SplitArchivePathWithObject().
Referenced by CalculateFrameVariableError(), GetCompUnitInfosForModule(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), GetModuleByOSOIndex(), GetObjectFileByCompUnitInfo(), GetSymbolFileByCompUnitInfo(), and ParseCompileUnitAtIndex().
|
protected |
Definition at line 398 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByCompUnitInfo(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), and m_compile_unit_infos.
Referenced by GetObjectFileByOSOIndex(), and GetSeparateDebugInfo().
|
protected |
Definition at line 524 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByCompUnitInfo(), and lldb_private::Module::GetObjectFile().
|
protected |
Definition at line 504 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByOSOIndex(), and lldb_private::Module::GetObjectFile().
|
inlinestaticprotected |
Definition at line 208 of file SymbolFileDWARFDebugMap.h.
References lldb_private::plugin::dwarf::DIERef::file_index(), and lldbassert.
Referenced by GetCompilerContextForUID(), GetDeclContextContainingUID(), GetDeclContextForUID(), GetDynamicArrayInfoForUID(), ParseCallEdgesInFunction(), ResolveFunctionCallLabel(), and ResolveTypeUID().
|
static |
Definition at line 244 of file SymbolFileDWARFDebugMap.cpp.
Referenced by Initialize().
|
inlineoverridevirtual |
Implements lldb_private::PluginInterface.
Definition at line 140 of file SymbolFileDWARFDebugMap.h.
References GetPluginNameStatic().
|
inlinestatic |
Definition at line 52 of file SymbolFileDWARFDebugMap.h.
Referenced by GetPluginName(), and Initialize().
|
overridevirtual |
List separate oso files.
Reimplemented from lldb_private::SymbolFile.
Definition at line 1281 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::StructuredData::Array::AddItem(), lldb_private::StructuredData::Dictionary::AddItem(), lldb_private::StructuredData::Dictionary::AddStringItem(), lldb_private::SymbolFileCommon::GetMainObjectFile(), GetModuleByOSOIndex(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), and m_compile_unit_infos.
|
protected |
Definition at line 517 of file SymbolFileDWARFDebugMap.cpp.
References GetCompUnitInfo(), and GetSymbolFileByCompUnitInfo().
|
protected |
Definition at line 512 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolContext::comp_unit, and GetSymbolFile().
Referenced by ForEachExternalModule(), GetSymbolFile(), ParseBlocksRecursive(), ParseDebugMacros(), ParseFunctions(), ParseImportedModules(), ParseIsOptimized(), ParseLanguage(), ParseLineTable(), ParseSupportFiles(), ParseTypes(), ParseVariablesForContext(), and ParseXcodeSDK().
|
staticprotected |
Definition at line 553 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::PluginInterface::GetPluginName(), lldb_private::plugin::dwarf::SymbolFileDWARF::GetPluginNameStatic(), lldb_private::SymbolFile::SymbolFile(), and SymbolFileDWARF.
Referenced by lldb_private::plugin::dwarf::DebugMapModule::GetSymbolFile(), GetSymbolFileByCompUnitInfo(), and LinkOSOAddress().
|
protected |
Definition at line 560 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByCompUnitInfo(), GetSymbolFileAsSymbolFileDWARF(), and SymbolFileDWARF.
Referenced by FindCompleteObjCDefinitionTypeForDIE(), GetCompileUnit(), GetCompileUnitInfo(), GetSymbolFile(), GetSymbolFileByOSOIndex(), GetTypes(), ParseCompileUnitAtIndex(), and SetCompileUnit().
|
protected |
Definition at line 545 of file SymbolFileDWARFDebugMap.cpp.
References GetSymbolFileByCompUnitInfo(), and m_compile_unit_infos.
Referenced by ForEachSymbolFile(), GetCompilerContextForUID(), GetDeclContextContainingUID(), GetDeclContextForUID(), GetDynamicArrayInfoForUID(), ParseCallEdgesInFunction(), PrivateFindGlobalVariables(), ResolveFunctionCallLabel(), and ResolveTypeUID().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 1133 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolContextScope::CalculateSymbolContext(), lldb_private::Continue, ForEachSymbolFile(), GetCompUnitInfo(), lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFileByCompUnitInfo(), lldb_private::plugin::dwarf::SymbolFileDWARF::GetTypes(), LLDB_SCOPED_TIMERF, and SymbolFileDWARF.
|
inlineprotected |
Definition at line 287 of file SymbolFileDWARFDebugMap.h.
References m_unique_ast_type_map.
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARF::GetUniqueDWARFASTTypeMap().
|
static |
Definition at line 235 of file SymbolFileDWARFDebugMap.cpp.
References CreateInstance(), GetPluginDescriptionStatic(), GetPluginNameStatic(), and lldb_private::PluginManager::RegisterPlugin().
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARF::Initialize().
|
overridevirtual |
Initialize the SymbolFile object.
The SymbolFile object with the best set of abilities (detected in "uint32_t SymbolFile::GetAbilities()) will have this function called if it is chosen to parse an object file. More complete initialization can happen in this function which will get called prior to any other functions in the SymbolFile protocol.
Reimplemented from lldb_private::SymbolFile.
Definition at line 258 of file SymbolFileDWARFDebugMap.cpp.
|
protected |
Definition at line 260 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Symtab::AppendSymbolIndexesWithType(), lldb_private::Symtab::AppendSymbolIndexesWithTypeAndFlagsValue(), lldb_private::ConstString::AsCString(), lldb_private::DebugMap, lldb_private::Symtab::eDebugYes, lldb::eSymbolTypeCode, lldb::eSymbolTypeData, lldb::eSymbolTypeObjectFile, lldb::eSymbolTypeSourceFile, lldb_private::ObjectFile::eTypeCoreFile, lldb_private::ObjectFile::eTypeDebugInfo, lldb_private::ObjectFile::eTypeDynamicLinker, lldb_private::ObjectFile::eTypeExecutable, lldb_private::ObjectFile::eTypeInvalid, lldb_private::ObjectFile::eTypeJIT, lldb_private::ObjectFile::eTypeObjectFile, lldb_private::ObjectFile::eTypeSharedLibrary, lldb_private::ObjectFile::eTypeStubLibrary, lldb_private::ObjectFile::eTypeUnknown, lldb_private::Symtab::eVisibilityAny, lldb_private::Symbol::GetAddressRef(), lldb_private::Symbol::GetByteSize(), lldb_private::ConstString::GetCString(), lldb_private::Address::GetFileAddress(), lldb_private::Symbol::GetID(), lldb_private::Symbol::GetIntegerValue(), lldb_private::GetLog(), lldb_private::Symbol::GetName(), lldb_private::Symbol::GetSiblingIndex(), lldb_private::Symbol::GetType(), kHaveInitializedOSOs, LLDB_INVALID_ADDRESS, LLDB_LOGF, m_compile_unit_infos, m_debug_map, m_flags, m_func_indexes, m_glob_indexes, lldb_private::SymbolFileCommon::m_objfile_sp, lldb_private::Symtab::SortSymbolIndexesByValue(), lldb_private::Symtab::SymbolAtIndex(), and UINT32_MAX.
Referenced by CalculateAbilities(), and CalculateNumCompileUnits().
|
inlineoverridevirtual |
LLVM RTTI support.
Reimplemented from lldb_private::SymbolFileCommon.
Definition at line 41 of file SymbolFileDWARFDebugMap.h.
References ID, and lldb_private::SymbolFileCommon::isA().
Convert addr from a .o file address, to an executable address.
[in] | addr | A section offset address from a .o file |
Definition at line 1479 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::RangeData< B, S, T >::data, lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryThatContains(), GetCompileUnitInfo(), lldb_private::Address::GetFileAddress(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), lldb_private::Address::GetModule(), lldb_private::ModuleChild::GetModule(), lldb_private::SymbolFileCommon::GetObjectFile(), lldb_private::Range< B, S >::GetRangeBase(), lldb_private::Module::GetSymbolFile(), GetSymbolFileAsSymbolFileDWARF(), m_debug_map, and lldb_private::Module::ResolveFileAddress().
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARF::FixupAddress().
|
protected |
Convert a .o file "file address" to an executable "file address".
[in] | oso_symfile | The DWARF symbol file that contains oso_file_addr |
[in] | oso_file_addr | A .o file "file address" to convert. |
Definition at line 1458 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::RangeData< B, S, T >::data, lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryThatContains(), GetCompileUnitInfo(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), lldb_private::Range< B, S >::GetRangeBase(), LLDB_INVALID_ADDRESS, m_debug_map, and SymbolFileDWARF.
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARF::FixupAddress(), and lldb_private::plugin::dwarf::SymbolFileDWARF::ParseVariableDIE().
|
protected |
Given a line table full of lines with "file addresses" that are for a .o file represented by oso_symfile, link a new line table and return it.
[in] | oso_symfile | The DWARF symbol file that produced the line_table |
[in] | line_table | A pointer to the line table. |
Definition at line 1507 of file SymbolFileDWARFDebugMap.cpp.
References GetCompileUnitInfo(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), lldb_private::LineTable::LinkLineTable(), and SymbolFileDWARF.
|
overridevirtual |
This function exists because SymbolFileDWARFDebugMap may extra compile units which aren't exposed as "real" compile units.
In every other case this function should behave identically as ParseLanguage.
Reimplemented from lldb_private::SymbolFile.
Definition at line 687 of file SymbolFileDWARFDebugMap.cpp.
References GetCompUnitInfo(), and lldb_private::CompileUnit::GetLanguage().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 774 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Function::GetCompileUnit(), lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseBlocksRecursive(), and SymbolFileDWARF.
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1160 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::UserID::GetID(), GetOSOIndexFromUserID(), GetSymbolFileByOSOIndex(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseCallEdgesInFunction(), and SymbolFileDWARF.
|
overrideprotectedvirtual |
This function actually returns the first compile unit the object file at the given index contains.
Implements lldb_private::SymbolFileCommon.
Definition at line 591 of file SymbolFileDWARFDebugMap.cpp.
References lldb::eLanguageTypeUnknown, lldb_private::eLazyBoolCalculate, GetFileSpecForSO(), GetModuleByCompUnitInfo(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), GetSymbolFileByCompUnitInfo(), m_compile_unit_infos, lldb_private::SymbolFileCommon::m_objfile_sp, lldb_private::SymbolFileCommon::SetCompileUnitAtIndex(), and SymbolFileDWARF.
Referenced by GetCompileUnit().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 713 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseDebugMacros(), and SymbolFileDWARF.
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1408 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Continue, ForEachSymbolFile(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseDeclsForContext(), and SymbolFileDWARF.
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 697 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseFunctions(), and SymbolFileDWARF.
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 765 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseImportedModules(), and SymbolFileDWARF.
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 757 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseIsOptimized(), and SymbolFileDWARF.
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 670 of file SymbolFileDWARFDebugMap.cpp.
References lldb::eLanguageTypeUnknown, lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseLanguage(), and SymbolFileDWARF.
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 705 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseLineTable(), and SymbolFileDWARF.
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 748 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseSupportFiles(), and SymbolFileDWARF.
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 786 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseTypes(), and SymbolFileDWARF.
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 795 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseVariablesForContext(), and SymbolFileDWARF.
|
overridevirtual |
Return the Xcode SDK comp_unit was compiled against.
Reimplemented from lldb_private::SymbolFile.
Definition at line 678 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseXcodeSDK(), and SymbolFileDWARF.
|
protected |
Definition at line 917 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::SymbolFileDWARF::FindGlobalVariables(), GetCompileUnitInfoForSymbolWithIndex(), lldb_private::VariableList::GetSize(), GetSymbolFileByOSOIndex(), and SymbolFileDWARF.
|
overridevirtual |
Resolves the function corresponding to the specified LLDB function call label
.
[in,out] | label | The FunctionCallLabel to be resolved. |
label
couldn't be resolved. Returns the resolved function (as a SymbolContext) otherwise. Reimplemented from lldb_private::SymbolFile.
Definition at line 1608 of file SymbolFileDWARFDebugMap.cpp.
References GetOSOIndexFromUserID(), GetSymbolFileByOSOIndex(), lldb_private::plugin::dwarf::SymbolFileDWARF::ResolveFunctionCallLabel(), lldb_private::FunctionCallLabel::symbol_id, and SymbolFileDWARF.
|
overridevirtual |
Implements lldb_private::SymbolFile.
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 803 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetOSOIndexFromUserID(), GetSymbolFileByOSOIndex(), lldb_private::plugin::dwarf::SymbolFileDWARF::ResolveTypeUID(), and SymbolFileDWARF.
|
protected |
Definition at line 1357 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFileCommon::GetNumCompileUnits(), GetSymbolFileByCompUnitInfo(), m_compile_unit_infos, lldb_private::SymbolFileCommon::SetCompileUnitAtIndex(), and SymbolFileDWARF.
|
staticprotected |
Definition at line 1015 of file SymbolFileDWARFDebugMap.cpp.
Referenced by GetCompileUnitInfoForSymbolWithID().
|
staticprotected |
Definition at line 1002 of file SymbolFileDWARFDebugMap.cpp.
Referenced by GetCompileUnitInfoForSymbolWithIndex().
|
static |
Definition at line 240 of file SymbolFileDWARFDebugMap.cpp.
References CreateInstance(), and lldb_private::PluginManager::UnregisterPlugin().
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARF::Terminate().
|
friend |
Definition at line 155 of file SymbolFileDWARFDebugMap.h.
|
friend |
Definition at line 154 of file SymbolFileDWARFDebugMap.h.
References DebugMapModule.
Referenced by DebugMapModule.
|
friend |
Definition at line 156 of file SymbolFileDWARFDebugMap.h.
References DWARFCompileUnit.
Referenced by DWARFCompileUnit, and GetCompileUnit().
|
friend |
Definition at line 157 of file SymbolFileDWARFDebugMap.h.
References SymbolFileDWARF.
Referenced by AddOSOARanges(), CompleteType(), DumpClangAST(), FindCompleteObjCDefinitionTypeForDIE(), FindDefinitionDIE(), FindFunctions(), FindFunctions(), FindGlobalVariables(), FindGlobalVariables(), FindNamespace(), FindTypes(), ForEachExternalModule(), ForEachSymbolFile(), GetCompileOptions(), GetCompilerContextForUID(), GetCompileUnit(), GetCompileUnitInfo(), GetDebugInfoModules(), GetDeclContextContainingUID(), GetDeclContextForUID(), GetDynamicArrayInfoForUID(), GetSymbolFileAsSymbolFileDWARF(), GetSymbolFileByCompUnitInfo(), GetTypes(), LinkOSOFileAddress(), LinkOSOLineTable(), ParseBlocksRecursive(), ParseCallEdgesInFunction(), ParseCompileUnitAtIndex(), ParseDebugMacros(), ParseDeclsForContext(), ParseFunctions(), ParseImportedModules(), ParseIsOptimized(), ParseLanguage(), ParseLineTable(), ParseSupportFiles(), ParseTypes(), ParseVariablesForContext(), ParseXcodeSDK(), PrivateFindGlobalVariables(), ResolveFunctionCallLabel(), ResolveTypeUID(), SetCompileUnit(), and SymbolFileDWARF.
|
staticprivate |
LLVM RTTI support.
Definition at line 36 of file SymbolFileDWARFDebugMap.h.
|
protected |
Definition at line 324 of file SymbolFileDWARFDebugMap.h.
Referenced by CalculateAbilities(), CalculateNumCompileUnits(), ForEachSymbolFile(), GetCompileUnit(), GetCompileUnitInfo(), GetCompileUnitInfoForSymbolWithID(), GetCompileUnitInfoForSymbolWithIndex(), GetCompUnitInfo(), GetCompUnitInfoIndex(), GetCompUnitInfosForModule(), GetFileSpecForSO(), GetModuleByOSOIndex(), GetSeparateDebugInfo(), GetSymbolFileByOSOIndex(), InitOSO(), ParseCompileUnitAtIndex(), SetCompileUnit(), and SymbolFileDWARFDebugMap().
|
protected |
Definition at line 335 of file SymbolFileDWARFDebugMap.h.
Referenced by AddOSOFileRange(), CalculateFrameVariableError(), InitOSO(), LinkOSOAddress(), and LinkOSOFileAddress().
|
protected |
Definition at line 333 of file SymbolFileDWARFDebugMap.h.
Referenced by GetDIEToType().
|
protected |
Definition at line 323 of file SymbolFileDWARFDebugMap.h.
Referenced by InitOSO(), and SymbolFileDWARFDebugMap().
|
protected |
Definition at line 331 of file SymbolFileDWARFDebugMap.h.
Referenced by GetForwardDeclCompilerTypeToDIE().
|
protected |
Definition at line 325 of file SymbolFileDWARFDebugMap.h.
Referenced by InitOSO(), and SymbolFileDWARFDebugMap().
|
protected |
Definition at line 326 of file SymbolFileDWARFDebugMap.h.
Referenced by InitOSO(), and SymbolFileDWARFDebugMap().
|
protected |
Definition at line 327 of file SymbolFileDWARFDebugMap.h.
Referenced by GetModuleByCompUnitInfo().
|
protected |
Definition at line 332 of file SymbolFileDWARFDebugMap.h.
Referenced by GetUniqueDWARFASTTypeMap().