|
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 | FindFunctions (llvm::ArrayRef< Module::LookupInfo > lookup_infos, const CompilerDeclContext &parent_decl_ctx, bool include_inlines, SymbolContextList &sc_list) |
| 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 (const 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 254 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 1518 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 1418 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 569 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 1554 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 588 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 824 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 250 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 1272 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::SymbolFileDWARF::DumpClangAST(), ForEachSymbolFile(), lldb_private::Stop, and SymbolFileDWARF.
|
protected |
Definition at line 1442 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 1181 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 1171 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 1096 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 1116 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 973 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 941 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 1255 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 1245 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 739 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 723 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 1600 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 1403 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 1322 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 1345 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 1052 of file SymbolFileDWARFDebugMap.cpp.
References m_compile_unit_infos, SymbolContainsSymbolWithID(), and UINT32_MAX.
Referenced by CalculateFrameVariableError().
|
protected |
Definition at line 1031 of file SymbolFileDWARFDebugMap.cpp.
References m_compile_unit_infos, SymbolContainsSymbolWithIndex(), and UINT32_MAX.
Referenced by FindCompleteObjCDefinitionTypeForDIE(), and PrivateFindGlobalVariables().
|
protected |
Definition at line 646 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::UserID::GetID(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), and m_compile_unit_infos.
|
protected |
Definition at line 641 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolContext::comp_unit, and GetCompUnitInfo().
Referenced by GetCompUnitInfo(), GetSymbolFile(), GetTypes(), and ParseAllLanguages().
|
protected |
Definition at line 534 of file SymbolFileDWARFDebugMap.cpp.
References m_compile_unit_infos, and UINT32_MAX.
Referenced by GetModuleByCompUnitInfo().
|
protected |
Definition at line 660 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 1540 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 1395 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::SymbolFileDWARF::GetDeclContextContainingUID(), GetOSOIndexFromUserID(), GetSymbolFileByOSOIndex(), and SymbolFileDWARF.
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1387 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 815 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::SymbolFileDWARF::GetDynamicArrayInfoForUID(), GetOSOIndexFromUserID(), GetSymbolFileByOSOIndex(), and SymbolFileDWARF.
Definition at line 495 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 407 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 400 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByCompUnitInfo(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), and m_compile_unit_infos.
Referenced by GetObjectFileByOSOIndex(), and GetSeparateDebugInfo().
|
protected |
Definition at line 526 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByCompUnitInfo(), and lldb_private::Module::GetObjectFile().
|
protected |
Definition at line 506 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 246 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 1283 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 519 of file SymbolFileDWARFDebugMap.cpp.
References GetCompUnitInfo(), and GetSymbolFileByCompUnitInfo().
|
protected |
Definition at line 514 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 555 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 562 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByCompUnitInfo(), GetSymbolFileAsSymbolFileDWARF(), and SymbolFileDWARF.
Referenced by FindCompleteObjCDefinitionTypeForDIE(), GetCompileUnit(), GetCompileUnitInfo(), GetSymbolFile(), GetSymbolFileByOSOIndex(), GetTypes(), ParseCompileUnitAtIndex(), and SetCompileUnit().
|
protected |
Definition at line 547 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 1135 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 237 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 260 of file SymbolFileDWARFDebugMap.cpp.
|
protected |
Definition at line 262 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 1481 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 1460 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 1509 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 689 of file SymbolFileDWARFDebugMap.cpp.
References GetCompUnitInfo(), and lldb_private::CompileUnit::GetLanguage().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 776 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 1162 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 593 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 715 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 1410 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 699 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 767 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 759 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 672 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 707 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 750 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 788 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 797 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 680 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseXcodeSDK(), and SymbolFileDWARF.
|
protected |
Definition at line 919 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 1610 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 805 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetOSOIndexFromUserID(), GetSymbolFileByOSOIndex(), lldb_private::plugin::dwarf::SymbolFileDWARF::ResolveTypeUID(), and SymbolFileDWARF.
|
protected |
Definition at line 1359 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFileCommon::GetNumCompileUnits(), GetSymbolFileByCompUnitInfo(), m_compile_unit_infos, lldb_private::SymbolFileCommon::SetCompileUnitAtIndex(), and SymbolFileDWARF.
|
staticprotected |
Definition at line 1017 of file SymbolFileDWARFDebugMap.cpp.
Referenced by GetCompileUnitInfoForSymbolWithID().
|
staticprotected |
Definition at line 1004 of file SymbolFileDWARFDebugMap.cpp.
Referenced by GetCompileUnitInfoForSymbolWithIndex().
|
static |
Definition at line 242 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().