|
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 |
| XcodeSDKAndSysroot | 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 |
| lldb_private::ModuleSpecList | GetSeparateDebugInfoFiles () override |
| Return a map of separate debug info files that are loaded. | |
| 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 |
| lldb::TypeSP | GetTypeEnclosingVariableUID (lldb::user_id_t uid) override |
| Get the semantically innermost non-function type that encloses the provided variable. | |
| 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) |
| void | ReportMissingOSOs (const CompileUnitInfo &missing_info) |
| Report missing object files once per module, not once per object file, to avoid flooding the console. | |
| 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) |
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 { Symbols = (1u << 0) , CompileUnits = (1u << 1) , LineTables = (1u << 2) , Functions = (1u << 3) , Blocks = (1u << 4) , GlobalVariables = (1u << 5) , LocalVariables = (1u << 6) , VariableTypes = (1u << 7) , kAllAbilities } |
Definition at line 34 of file SymbolFileDWARFDebugMap.h.
|
protected |
Definition at line 328 of file SymbolFileDWARFDebugMap.h.
|
protected |
Definition at line 171 of file SymbolFileDWARFDebugMap.h.
|
protected |
Definition at line 168 of file SymbolFileDWARFDebugMap.h.
|
protected |
| Enumerator | |
|---|---|
| kHaveInitializedOSOs | |
| kNumFlags | |
Definition at line 156 of file SymbolFileDWARFDebugMap.h.
| SymbolFileDWARFDebugMap::SymbolFileDWARFDebugMap | ( | lldb::ObjectFileSP | objfile_sp | ) |
Definition at line 255 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 1594 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 1494 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 608 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 1630 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 627 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 873 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 251 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 1321 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::SymbolFileDWARF::DumpClangAST(), ForEachSymbolFile(), lldb_private::Stop, and SymbolFileDWARF.
|
protected |
Definition at line 1518 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 1230 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 1220 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 1145 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 1165 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 1022 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 990 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 1304 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 1294 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 788 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 772 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(), GetTypeEnclosingVariableUID(), GetTypes(), and ParseDeclsForContext().
|
override |
Definition at line 1676 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 1479 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 1398 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 1421 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 1101 of file SymbolFileDWARFDebugMap.cpp.
References m_compile_unit_infos, SymbolContainsSymbolWithID(), and UINT32_MAX.
Referenced by CalculateFrameVariableError().
|
protected |
Definition at line 1080 of file SymbolFileDWARFDebugMap.cpp.
References m_compile_unit_infos, SymbolContainsSymbolWithIndex(), and UINT32_MAX.
Referenced by FindCompleteObjCDefinitionTypeForDIE(), and PrivateFindGlobalVariables().
|
protected |
Definition at line 694 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::UserID::GetID(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), and m_compile_unit_infos.
|
protected |
Definition at line 689 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolContext::comp_unit, and GetCompUnitInfo().
Referenced by GetCompUnitInfo(), GetSymbolFile(), GetTypes(), and ParseAllLanguages().
|
protected |
Definition at line 573 of file SymbolFileDWARFDebugMap.cpp.
References m_compile_unit_infos, and UINT32_MAX.
Referenced by GetModuleByCompUnitInfo().
|
protected |
Definition at line 708 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 1616 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 1471 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::SymbolFileDWARF::GetDeclContextContainingUID(), GetOSOIndexFromUserID(), GetSymbolFileByOSOIndex(), and SymbolFileDWARF.
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1463 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::SymbolFileDWARF::GetDeclContextForUID(), GetOSOIndexFromUserID(), GetSymbolFileByOSOIndex(), and SymbolFileDWARF.
|
inlineprotected |
Definition at line 299 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 864 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::SymbolFileDWARF::GetDynamicArrayInfoForUID(), GetOSOIndexFromUserID(), GetSymbolFileByOSOIndex(), and SymbolFileDWARF.
Definition at line 534 of file SymbolFileDWARFDebugMap.cpp.
References m_compile_unit_infos.
Referenced by ParseCompileUnitAtIndex().
|
inlineprotected |
Definition at line 291 of file SymbolFileDWARFDebugMap.h.
References m_forward_decl_compiler_type_to_die.
|
protected |
Definition at line 408 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Status::AsCString(), lldb_private::Status::FromErrorStringWithFormat(), lldb_private::Status::FromErrorStringWithFormatv(), 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, ReportMissingOSOs(), 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 401 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByCompUnitInfo(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), and m_compile_unit_infos.
Referenced by GetObjectFileByOSOIndex(), and GetSeparateDebugInfo().
|
protected |
Definition at line 565 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByCompUnitInfo(), and lldb_private::Module::GetObjectFile().
|
protected |
Definition at line 545 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByOSOIndex(), and lldb_private::Module::GetObjectFile().
|
inlinestaticprotected |
Definition at line 212 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 247 of file SymbolFileDWARFDebugMap.cpp.
Referenced by Initialize().
|
inlineoverridevirtual |
Implements lldb_private::PluginInterface.
Definition at line 142 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 1359 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.
|
overridevirtual |
Return a map of separate debug info files that are loaded.
Unlike GetSeparateDebugInfo(), this function will only return the list of files, if there are errors they are simply ignored. This function will always return a valid list, even if it is empty.
Reimplemented from lldb_private::SymbolFile.
Definition at line 1333 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::ModuleSpecList::Append(), lldb_private::ModuleSpec::GetFileSpec(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), lldb_private::ModuleSpec::GetObjectModificationTime(), m_compile_unit_infos, lldb_private::ModuleSpec::SetObjectName(), and lldb_private::ObjectFile::SplitArchivePathWithObject().
|
protected |
Definition at line 558 of file SymbolFileDWARFDebugMap.cpp.
References GetCompUnitInfo(), and GetSymbolFileByCompUnitInfo().
|
protected |
Definition at line 553 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 594 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 601 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByCompUnitInfo(), GetSymbolFileAsSymbolFileDWARF(), and SymbolFileDWARF.
Referenced by FindCompleteObjCDefinitionTypeForDIE(), GetCompileUnit(), GetCompileUnitInfo(), GetSymbolFile(), GetSymbolFileByOSOIndex(), GetTypes(), ParseCompileUnitAtIndex(), and SetCompileUnit().
|
protected |
Definition at line 586 of file SymbolFileDWARFDebugMap.cpp.
References GetSymbolFileByCompUnitInfo(), and m_compile_unit_infos.
Referenced by ForEachSymbolFile(), GetCompilerContextForUID(), GetDeclContextContainingUID(), GetDeclContextForUID(), GetDynamicArrayInfoForUID(), ParseCallEdgesInFunction(), PrivateFindGlobalVariables(), ResolveFunctionCallLabel(), and ResolveTypeUID().
|
overridevirtual |
Get the semantically innermost non-function type that encloses the provided variable.
Reimplemented from lldb_private::SymbolFile.
Definition at line 1686 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Continue, ForEachSymbolFile(), lldb_private::plugin::dwarf::SymbolFileDWARF::GetTypeEnclosingVariableUID(), lldb_private::Stop, and SymbolFileDWARF.
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 1184 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 295 of file SymbolFileDWARFDebugMap.h.
References m_unique_ast_type_map.
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARF::GetUniqueDWARFASTTypeMap().
|
static |
Definition at line 238 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 261 of file SymbolFileDWARFDebugMap.cpp.
|
protected |
Definition at line 263 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Symtab::AppendSymbolIndexesWithType(), lldb_private::Symtab::AppendSymbolIndexesWithTypeAndFlagsValue(), 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::ConstString::GetStringRef(), 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 1557 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 1536 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 1585 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 738 of file SymbolFileDWARFDebugMap.cpp.
References GetCompUnitInfo(), and lldb_private::CompileUnit::GetLanguage().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 825 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 1211 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 632 of file SymbolFileDWARFDebugMap.cpp.
References lldb::eLanguageTypeUnknown, lldb_private::eLazyBoolCalculate, GetFileSpecForSO(), GetModuleByCompUnitInfo(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), lldb_private::FileSpec::GetPath(), GetSymbolFileByCompUnitInfo(), m_compile_unit_infos, lldb_private::SymbolFileCommon::m_objfile_sp, lldb_private::SymbolFileCommon::SetCompileUnitAtIndex(), lldb_private::FileSpec::SetFile(), and SymbolFileDWARF.
Referenced by GetCompileUnit().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 764 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 1486 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 748 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 816 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 808 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 720 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 756 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 799 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 837 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 846 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 729 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseXcodeSDK(), and SymbolFileDWARF.
|
protected |
Definition at line 968 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::SymbolFileDWARF::FindGlobalVariables(), GetCompileUnitInfoForSymbolWithIndex(), lldb_private::VariableList::GetSize(), GetSymbolFileByOSOIndex(), and SymbolFileDWARF.
|
protected |
Report missing object files once per module, not once per object file, to avoid flooding the console.
Definition at line 507 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Status::AsCString(), lldb_private::ConstString::GetStringRef(), m_compile_unit_infos, lldb_private::SymbolFileCommon::m_objfile_sp, m_reported_missing_osos, lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::oso_load_error, lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::oso_path, and OSOExists().
Referenced by GetModuleByCompUnitInfo().
|
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 1698 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 854 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetOSOIndexFromUserID(), GetSymbolFileByOSOIndex(), lldb_private::plugin::dwarf::SymbolFileDWARF::ResolveTypeUID(), and SymbolFileDWARF.
|
protected |
Definition at line 1435 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFileCommon::GetNumCompileUnits(), GetSymbolFileByCompUnitInfo(), m_compile_unit_infos, lldb_private::SymbolFileCommon::SetCompileUnitAtIndex(), and SymbolFileDWARF.
|
staticprotected |
Definition at line 1066 of file SymbolFileDWARFDebugMap.cpp.
Referenced by GetCompileUnitInfoForSymbolWithID().
|
staticprotected |
Definition at line 1053 of file SymbolFileDWARFDebugMap.cpp.
Referenced by GetCompileUnitInfoForSymbolWithIndex().
|
static |
Definition at line 243 of file SymbolFileDWARFDebugMap.cpp.
References CreateInstance(), and lldb_private::PluginManager::UnregisterPlugin().
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARF::Terminate().
|
friend |
Definition at line 159 of file SymbolFileDWARFDebugMap.h.
|
friend |
Definition at line 158 of file SymbolFileDWARFDebugMap.h.
References DebugMapModule.
Referenced by DebugMapModule.
|
friend |
Definition at line 160 of file SymbolFileDWARFDebugMap.h.
References DWARFCompileUnit.
Referenced by DWARFCompileUnit, and GetCompileUnit().
|
friend |
Definition at line 161 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(), GetTypeEnclosingVariableUID(), 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 332 of file SymbolFileDWARFDebugMap.h.
Referenced by CalculateAbilities(), CalculateNumCompileUnits(), ForEachSymbolFile(), GetCompileUnit(), GetCompileUnitInfo(), GetCompileUnitInfoForSymbolWithID(), GetCompileUnitInfoForSymbolWithIndex(), GetCompUnitInfo(), GetCompUnitInfoIndex(), GetCompUnitInfosForModule(), GetFileSpecForSO(), GetModuleByOSOIndex(), GetSeparateDebugInfo(), GetSeparateDebugInfoFiles(), GetSymbolFileByOSOIndex(), InitOSO(), ParseCompileUnitAtIndex(), ReportMissingOSOs(), SetCompileUnit(), and SymbolFileDWARFDebugMap().
|
protected |
Definition at line 344 of file SymbolFileDWARFDebugMap.h.
Referenced by AddOSOFileRange(), CalculateFrameVariableError(), InitOSO(), LinkOSOAddress(), and LinkOSOFileAddress().
|
protected |
Definition at line 342 of file SymbolFileDWARFDebugMap.h.
Referenced by GetDIEToType().
|
protected |
Definition at line 331 of file SymbolFileDWARFDebugMap.h.
Referenced by InitOSO(), and SymbolFileDWARFDebugMap().
|
protected |
Definition at line 340 of file SymbolFileDWARFDebugMap.h.
Referenced by GetForwardDeclCompilerTypeToDIE().
|
protected |
Definition at line 333 of file SymbolFileDWARFDebugMap.h.
Referenced by InitOSO(), and SymbolFileDWARFDebugMap().
|
protected |
Definition at line 334 of file SymbolFileDWARFDebugMap.h.
Referenced by InitOSO(), and SymbolFileDWARFDebugMap().
|
protected |
Definition at line 335 of file SymbolFileDWARFDebugMap.h.
Referenced by GetModuleByCompUnitInfo().
|
protected |
Definition at line 336 of file SymbolFileDWARFDebugMap.h.
Referenced by ReportMissingOSOs().
|
protected |
Definition at line 341 of file SymbolFileDWARFDebugMap.h.
Referenced by GetUniqueDWARFASTTypeMap().