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 (lldb_private::CompileUnit &comp_unit) override |
lldb_private::XcodeSDK | ParseXcodeSDK (lldb_private::CompileUnit &comp_unit) override |
Return the Xcode SDK comp_unit was compiled against. | |
llvm::SmallSet< lldb::LanguageType, 4 > | ParseAllLanguages (lldb_private::CompileUnit &comp_unit) override |
This function exists because SymbolFileDWARFDebugMap may extra compile units which aren't exposed as "real" compile units. | |
size_t | ParseFunctions (lldb_private::CompileUnit &comp_unit) override |
bool | ParseLineTable (lldb_private::CompileUnit &comp_unit) override |
bool | ParseDebugMacros (lldb_private::CompileUnit &comp_unit) override |
bool | ForEachExternalModule (lldb_private::CompileUnit &, llvm::DenseSet< lldb_private::SymbolFile * > &, llvm::function_ref< bool(lldb_private::Module &)>) override |
bool | ParseSupportFiles (lldb_private::CompileUnit &comp_unit, lldb_private::FileSpecList &support_files) override |
bool | ParseIsOptimized (lldb_private::CompileUnit &comp_unit) override |
size_t | ParseTypes (lldb_private::CompileUnit &comp_unit) override |
bool | ParseImportedModules (const lldb_private::SymbolContext &sc, std::vector< lldb_private::SourceModule > &imported_modules) override |
size_t | ParseBlocksRecursive (lldb_private::Function &func) override |
size_t | ParseVariablesForContext (const lldb_private::SymbolContext &sc) override |
lldb_private::Type * | ResolveTypeUID (lldb::user_id_t type_uid) override |
std::optional< ArrayInfo > | GetDynamicArrayInfoForUID (lldb::user_id_t type_uid, const lldb_private::ExecutionContext *exe_ctx) override |
If type_uid points to an array type, return its characteristics. | |
lldb_private::CompilerDeclContext | GetDeclContextForUID (lldb::user_id_t uid) override |
lldb_private::CompilerDeclContext | GetDeclContextContainingUID (lldb::user_id_t uid) override |
void | ParseDeclsForContext (lldb_private::CompilerDeclContext decl_ctx) override |
bool | CompleteType (lldb_private::CompilerType &compiler_type) override |
uint32_t | ResolveSymbolContext (const lldb_private::Address &so_addr, lldb::SymbolContextItem resolve_scope, lldb_private::SymbolContext &sc) override |
uint32_t | ResolveSymbolContext (const lldb_private::SourceLocationSpec &src_location_spec, lldb::SymbolContextItem resolve_scope, lldb_private::SymbolContextList &sc_list) override |
lldb_private::Status | CalculateFrameVariableError (lldb_private::StackFrame &frame) override |
Subclasses will override this function to for GetFrameVariableError(). | |
void | FindGlobalVariables (lldb_private::ConstString name, const lldb_private::CompilerDeclContext &parent_decl_ctx, uint32_t max_matches, lldb_private::VariableList &variables) override |
void | FindGlobalVariables (const lldb_private::RegularExpression ®ex, uint32_t max_matches, lldb_private::VariableList &variables) override |
void | FindFunctions (const lldb_private::Module::LookupInfo &lookup_info, const lldb_private::CompilerDeclContext &parent_decl_ctx, bool include_inlines, lldb_private::SymbolContextList &sc_list) override |
void | FindFunctions (const lldb_private::RegularExpression ®ex, bool include_inlines, lldb_private::SymbolContextList &sc_list) override |
void | FindTypes (lldb_private::ConstString name, const lldb_private::CompilerDeclContext &parent_decl_ctx, uint32_t max_matches, llvm::DenseSet< lldb_private::SymbolFile * > &searched_symbol_files, lldb_private::TypeMap &types) override |
void | FindTypes (llvm::ArrayRef< lldb_private::CompilerContext > context, lldb_private::LanguageSet languages, llvm::DenseSet< lldb_private::SymbolFile * > &searched_symbol_files, lldb_private::TypeMap &types) override |
lldb_private::CompilerDeclContext | FindNamespace (lldb_private::ConstString name, const lldb_private::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 (lldb_private::SymbolContextScope *sc_scope, lldb::TypeClass type_mask, lldb_private::TypeList &type_list) override |
std::vector< std::unique_ptr< lldb_private::CallEdge > > | ParseCallEdgesInFunction (lldb_private::UserID func_id) override |
void | DumpClangAST (lldb_private::Stream &s) override |
llvm::StringRef | GetPluginName () override |
lldb_private::ModuleList | GetDebugInfoModules () override |
Get the additional modules that this symbol file uses to parse debug info. | |
void | GetCompileOptions (std::unordered_map< lldb::CompUnitSP, lldb_private::Args > &args) override |
![]() | |
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 () 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 () 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 |
![]() | |
SymbolFile ()=default | |
~SymbolFile () override=default | |
virtual SymbolFile * | GetBackingSymbolFile () |
SymbolFileOnDemand class overrides this to return the underlying backing SymbolFile implementation that loads on-demand. | |
virtual uint32_t | GetAbilities ()=0 |
Get a mask of what this symbol file supports for the object file that it was constructed with. | |
virtual uint32_t | CalculateAbilities ()=0 |
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 void | InitializeObject () |
Initialize the SymbolFile object. | |
virtual bool | GetLoadDebugInfoEnabled () |
Whether debug info will be loaded or not. | |
virtual void | SetLoadDebugInfoEnabled () |
Specify debug info should be loaded. | |
virtual uint32_t | GetNumCompileUnits ()=0 |
virtual lldb::CompUnitSP | GetCompileUnitAtIndex (uint32_t idx)=0 |
virtual Symtab * | GetSymtab ()=0 |
virtual lldb::LanguageType | ParseLanguage (CompileUnit &comp_unit)=0 |
virtual XcodeSDK | ParseXcodeSDK (CompileUnit &comp_unit) |
Return the Xcode SDK comp_unit was compiled against. | |
virtual llvm::SmallSet< lldb::LanguageType, 4 > | ParseAllLanguages (CompileUnit &comp_unit) |
This function exists because SymbolFileDWARFDebugMap may extra compile units which aren't exposed as "real" compile units. | |
virtual size_t | ParseFunctions (CompileUnit &comp_unit)=0 |
virtual bool | ParseLineTable (CompileUnit &comp_unit)=0 |
virtual bool | ParseDebugMacros (CompileUnit &comp_unit)=0 |
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 bool | ParseSupportFiles (CompileUnit &comp_unit, FileSpecList &support_files)=0 |
virtual size_t | ParseTypes (CompileUnit &comp_unit)=0 |
virtual bool | ParseIsOptimized (CompileUnit &comp_unit) |
virtual bool | ParseImportedModules (const SymbolContext &sc, std::vector< SourceModule > &imported_modules)=0 |
virtual size_t | ParseBlocksRecursive (Function &func)=0 |
virtual size_t | ParseVariablesForContext (const SymbolContext &sc)=0 |
virtual Type * | ResolveTypeUID (lldb::user_id_t type_uid)=0 |
virtual std::optional< ArrayInfo > | GetDynamicArrayInfoForUID (lldb::user_id_t type_uid, const lldb_private::ExecutionContext *exe_ctx)=0 |
If type_uid points to an array type, return its characteristics. | |
virtual bool | CompleteType (CompilerType &compiler_type)=0 |
virtual void | ParseDeclsForContext (CompilerDeclContext decl_ctx) |
virtual CompilerDecl | GetDeclForUID (lldb::user_id_t uid) |
virtual CompilerDeclContext | GetDeclContextForUID (lldb::user_id_t uid) |
virtual CompilerDeclContext | GetDeclContextContainingUID (lldb::user_id_t uid) |
virtual uint32_t | ResolveSymbolContext (const Address &so_addr, lldb::SymbolContextItem resolve_scope, SymbolContext &sc)=0 |
Status | GetFrameVariableError (StackFrame &frame) |
Get an error that describes why variables might be missing for a given symbol context. | |
virtual Status | CalculateFrameVariableError (StackFrame &frame) |
Subclasses will override this function to for GetFrameVariableError(). | |
virtual uint32_t | ResolveSymbolContext (const SourceLocationSpec &src_location_spec, lldb::SymbolContextItem resolve_scope, SymbolContextList &sc_list) |
virtual void | DumpClangAST (Stream &s) |
virtual void | FindGlobalVariables (ConstString name, const CompilerDeclContext &parent_decl_ctx, uint32_t max_matches, VariableList &variables) |
virtual void | FindGlobalVariables (const RegularExpression ®ex, uint32_t max_matches, VariableList &variables) |
virtual void | FindFunctions (const Module::LookupInfo &lookup_info, const CompilerDeclContext &parent_decl_ctx, bool include_inlines, SymbolContextList &sc_list) |
virtual void | FindFunctions (const RegularExpression ®ex, bool include_inlines, SymbolContextList &sc_list) |
virtual void | FindTypes (ConstString name, const CompilerDeclContext &parent_decl_ctx, uint32_t max_matches, llvm::DenseSet< lldb_private::SymbolFile * > &searched_symbol_files, TypeMap &types) |
virtual void | FindTypes (llvm::ArrayRef< CompilerContext > pattern, LanguageSet languages, llvm::DenseSet< lldb_private::SymbolFile * > &searched_symbol_files, TypeMap &types) |
Find types specified by a CompilerContextPattern. | |
virtual void | GetMangledNamesForFunction (const std::string &scope_qualified_name, std::vector< ConstString > &mangled_names) |
virtual void | GetTypes (lldb_private::SymbolContextScope *sc_scope, lldb::TypeClass type_mask, lldb_private::TypeList &type_list)=0 |
virtual void | PreloadSymbols () |
virtual llvm::Expected< lldb::TypeSystemSP > | GetTypeSystemForLanguage (lldb::LanguageType language)=0 |
virtual CompilerDeclContext | FindNamespace (ConstString name, const CompilerDeclContext &parent_decl_ctx, bool only_root_namespaces=false) |
Finds a namespace of name name and whose parent context is parent_decl_ctx. | |
virtual ObjectFile * | GetObjectFile ()=0 |
virtual const ObjectFile * | GetObjectFile () const =0 |
virtual ObjectFile * | GetMainObjectFile ()=0 |
virtual std::vector< std::unique_ptr< CallEdge > > | ParseCallEdgesInFunction (UserID func_id) |
virtual void | AddSymbols (Symtab &symtab) |
virtual void | SectionFileAddressesChanged ()=0 |
Notify the SymbolFile that the file addresses in the Sections for this module have been changed. | |
virtual lldb::UnwindPlanSP | GetUnwindPlan (const Address &address, const RegisterInfoResolver &resolver) |
virtual llvm::Expected< lldb::addr_t > | GetParameterStackSize (Symbol &symbol) |
Return the number of stack bytes taken up by the parameters to this function. | |
virtual void | Dump (Stream &s)=0 |
virtual uint64_t | GetDebugInfoSize ()=0 |
Metrics gathering functions. | |
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 ModuleList | GetDebugInfoModules () |
Get the additional modules that this symbol file uses to parse debug info. | |
virtual bool | GetDebugInfoHadFrameVariableErrors () const =0 |
Accessors for the bool that indicates if there was debug info, but errors stopped variables from being able to be displayed correctly. | |
virtual void | SetDebugInfoHadFrameVariableErrors ()=0 |
virtual 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)=0 |
virtual lldb::TypeSP | CopyType (const lldb::TypeSP &other_type)=0 |
std::unordered_map< lldb::CompUnitSP, Args > | GetCompileOptions () |
Returns a map of compilation unit to the compile option arguments associated with that compilation unit. | |
![]() | |
PluginInterface ()=default | |
virtual | ~PluginInterface ()=default |
virtual llvm::StringRef | GetPluginName ()=0 |
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 lldb_private::SymbolFile * | CreateInstance (lldb::ObjectFileSP objfile_sp) |
![]() | |
static bool | classof (const SymbolFileCommon *obj) |
![]() | |
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 lldb_private::RangeDataVector< lldb::addr_t, lldb::addr_t, lldb::addr_t > | FileRangeMap |
typedef lldb_private::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, lldb_private::FileSpec &file_spec) |
CompileUnitInfo * | GetCompUnitInfo (const lldb_private::SymbolContext &sc) |
CompileUnitInfo * | GetCompUnitInfo (const lldb_private::CompileUnit &comp_unit) |
size_t | GetCompUnitInfosForModule (const lldb_private::Module *oso_module, std::vector< CompileUnitInfo * > &cu_infos) |
lldb_private::Module * | GetModuleByCompUnitInfo (CompileUnitInfo *comp_unit_info) |
lldb_private::Module * | GetModuleByOSOIndex (uint32_t oso_idx) |
lldb_private::ObjectFile * | GetObjectFileByCompUnitInfo (CompileUnitInfo *comp_unit_info) |
lldb_private::ObjectFile * | GetObjectFileByOSOIndex (uint32_t oso_idx) |
uint32_t | GetCompUnitInfoIndex (const CompileUnitInfo *comp_unit_info) |
SymbolFileDWARF * | GetSymbolFile (const lldb_private::SymbolContext &sc) |
SymbolFileDWARF * | GetSymbolFile (const lldb_private::CompileUnit &comp_unit) |
SymbolFileDWARF * | GetSymbolFileByCompUnitInfo (CompileUnitInfo *comp_unit_info) |
SymbolFileDWARF * | GetSymbolFileByOSOIndex (uint32_t oso_idx) |
void | ForEachSymbolFile (std::function< bool(SymbolFileDWARF *)> closure) |
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 (lldb_private::ConstString name, const lldb_private::CompilerDeclContext &parent_decl_ctx, const std::vector< uint32_t > &name_symbol_indexes, uint32_t max_matches, lldb_private::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) |
lldb::TypeSP | FindDefinitionTypeForDWARFDeclContext (const DWARFDIE &die) |
bool | Supports_DW_AT_APPLE_objc_complete_type (SymbolFileDWARF *skip_dwarf_oso) |
lldb::TypeSP | FindCompleteObjCDefinitionTypeForDIE (const DWARFDIE &die, lldb_private::ConstString type_name, bool must_be_implementation) |
UniqueDWARFASTTypeMap & | GetUniqueDWARFASTTypeMap () |
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 (lldb_private::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". | |
lldb_private::LineTable * | LinkOSOLineTable (SymbolFileDWARF *oso_symfile, lldb_private::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) |
![]() | |
virtual uint32_t | CalculateNumCompileUnits ()=0 |
virtual lldb::CompUnitSP | ParseCompileUnitAtIndex (uint32_t idx)=0 |
virtual TypeList & | GetTypeList () |
void | SetCompileUnitAtIndex (uint32_t idx, const lldb::CompUnitSP &cu_sp) |
![]() | |
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< lldb_private::ConstString, llvm::sys::TimePoint<> >, OSOInfoSP > | m_oso_map |
UniqueDWARFASTTypeMap | m_unique_ast_type_map |
lldb_private::LazyBool | m_supports_DW_AT_APPLE_objc_complete_type |
DebugMap | m_debug_map |
![]() | |
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 | |
![]() | |
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 28 of file SymbolFileDWARFDebugMap.h.
|
protected |
Definition at line 333 of file SymbolFileDWARFDebugMap.h.
|
protected |
Definition at line 177 of file SymbolFileDWARFDebugMap.h.
|
protected |
Definition at line 173 of file SymbolFileDWARFDebugMap.h.
|
protected |
Enumerator | |
---|---|
kHaveInitializedOSOs | |
kNumFlags |
Definition at line 161 of file SymbolFileDWARFDebugMap.h.
SymbolFileDWARFDebugMap::SymbolFileDWARFDebugMap | ( | lldb::ObjectFileSP | objfile_sp | ) |
Definition at line 243 of file SymbolFileDWARFDebugMap.cpp.
|
overridedefault |
|
protected |
Definition at line 1463 of file SymbolFileDWARFDebugMap.cpp.
References DWARFDebugAranges::AppendRange(), GetCompileUnitInfo(), lldb_private::RangeDataVector< B, S, T, N, Compare >::GetEntryAtIndex(), SymbolFileDWARF::GetFileIndex(), SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), lldb_private::Range< B, S >::GetRangeBase(), lldb_private::Range< B, S >::GetRangeEnd(), and lldb_private::RangeDataVector< B, S, T, N, Compare >::GetSize().
Referenced by DWARFCompileUnit::BuildAddressRangeTable().
|
protected |
Definition at line 1363 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::RangeDataVector< B, S, T, N, Compare >::Append(), lldb_private::RangeData< B, S, T >::data, SymbolFileDWARFDebugMap::CompileUnitInfo::file_range_map, lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryIndexThatContains(), lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryThatContains(), m_debug_map, and UINT32_MAX.
Referenced by SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 558 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 1499 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::RangeData< B, S, T >::data, lldb_private::Status::Fail(), lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryThatContains(), 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, SymbolFileDWARFDebugMap::CompileUnitInfo::oso_load_error, SymbolFileDWARFDebugMap::CompileUnitInfo::oso_path, and lldb_private::Symtab::SymbolAtIndex().
|
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 577 of file SymbolFileDWARFDebugMap.cpp.
References InitOSO(), and m_compile_unit_infos.
|
inlinestatic |
Definition at line 38 of file SymbolFileDWARFDebugMap.h.
References ID.
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 796 of file SymbolFileDWARFDebugMap.cpp.
References ForEachSymbolFile(), and SymbolFileDWARF::HasForwardDeclForClangType().
|
static |
Definition at line 239 of file SymbolFileDWARFDebugMap.cpp.
Referenced by Initialize(), and Terminate().
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1264 of file SymbolFileDWARFDebugMap.cpp.
References SymbolFileDWARF::DumpClangAST(), and ForEachSymbolFile().
|
protected |
Definition at line 1387 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::RangeData< B, S, T >::data, SymbolFileDWARFDebugMap::CompileUnitInfo::file_range_map, lldb_private::Range< B, S >::GetByteSize(), lldb_private::RangeDataVector< B, S, T, N, Compare >::GetEntryRef(), SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), lldb_private::Range< B, S >::GetRangeBase(), lldb_private::Range< B, S >::GetRangeEnd(), lldb_private::RangeDataVector< B, S, T, N, Compare >::GetSize(), SymbolFileDWARFDebugMap::CompileUnitInfo::oso_sp, and lldb_private::RangeDataVector< B, S, T, N, Compare >::Sort().
Referenced by SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap().
|
protected |
Definition at line 1160 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Symtab::eDebugAny, lldb::eSymbolTypeObjCClass, lldb::eSymbolTypeSourceFile, lldb_private::Symtab::eVisibilityAny, 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, and UINT32_MAX.
Referenced by DWARFASTParserClang::ParseStructureLikeDIE().
|
protected |
Definition at line 1134 of file SymbolFileDWARFDebugMap.cpp.
References SymbolFileDWARF::FindDefinitionTypeForDWARFDeclContext(), and ForEachSymbolFile().
Referenced by DWARFASTParserClang::ParseEnum(), and DWARFASTParserClang::ParseStructureLikeDIE().
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1059 of file SymbolFileDWARFDebugMap.cpp.
References SymbolFileDWARF::FindFunctions(), ForEachSymbolFile(), lldb_private::ConstString::GetCString(), lldb_private::Module::LookupInfo::GetLookupName(), lldb_private::SymbolFile::GetModuleMutex(), lldb_private::SymbolContextList::GetSize(), lldb_private::SymbolContextList::IsEmpty(), and LLDB_SCOPED_TIMERF.
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1079 of file SymbolFileDWARFDebugMap.cpp.
References SymbolFileDWARF::FindFunctions(), ForEachSymbolFile(), lldb_private::SymbolFile::GetModuleMutex(), lldb_private::SymbolContextList::GetSize(), lldb_private::RegularExpression::GetText(), lldb_private::SymbolContextList::IsEmpty(), and LLDB_SCOPED_TIMERF.
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 936 of file SymbolFileDWARFDebugMap.cpp.
References SymbolFileDWARF::FindGlobalVariables(), ForEachSymbolFile(), lldb_private::SymbolFile::GetModuleMutex(), lldb_private::VariableList::GetSize(), and UINT32_MAX.
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 905 of file SymbolFileDWARFDebugMap.cpp.
References SymbolFileDWARF::FindGlobalVariables(), ForEachSymbolFile(), lldb_private::SymbolFile::GetModuleMutex(), lldb_private::VariableList::GetSize(), 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 1248 of file SymbolFileDWARFDebugMap.cpp.
References SymbolFileDWARF::FindNamespace(), ForEachSymbolFile(), and lldb_private::SymbolFile::GetModuleMutex().
|
override |
|
override |
|
override |
Definition at line 711 of file SymbolFileDWARFDebugMap.cpp.
References SymbolFileDWARF::ForEachExternalModule(), lldb_private::SymbolFile::GetModuleMutex(), and GetSymbolFile().
|
inlineprotected |
Definition at line 255 of file SymbolFileDWARFDebugMap.h.
References GetSymbolFileByOSOIndex(), and m_compile_unit_infos.
Referenced by CompleteType(), DumpClangAST(), FindCompleteObjCDefinitionTypeForDIE(), FindDefinitionTypeForDWARFDeclContext(), FindFunctions(), FindGlobalVariables(), FindNamespace(), GetCompileOptions(), GetDebugInfoModules(), GetTypes(), ParseDeclsForContext(), and Supports_DW_AT_APPLE_objc_complete_type().
|
override |
Definition at line 1544 of file SymbolFileDWARFDebugMap.cpp.
References ForEachSymbolFile(), and SymbolFileDWARF::GetCompileOptions().
|
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 1275 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::UserID::GetID(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), GetSymbolFileByCompUnitInfo(), m_compile_unit_infos, and ParseCompileUnitAtIndex().
Referenced by SymbolFileDWARF::ParseCompileUnit().
|
protected |
Definition at line 1297 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFileCommon::GetNumCompileUnits(), GetSymbolFileByCompUnitInfo(), and m_compile_unit_infos.
Referenced by AddOSOARanges(), DWARFCompileUnit::BuildAddressRangeTable(), LinkOSOAddress(), LinkOSOFileAddress(), and LinkOSOLineTable().
|
protected |
Definition at line 1014 of file SymbolFileDWARFDebugMap.cpp.
References m_compile_unit_infos, SymbolContainsSymbolWithID(), and UINT32_MAX.
Referenced by CalculateFrameVariableError().
|
protected |
Definition at line 993 of file SymbolFileDWARFDebugMap.cpp.
References m_compile_unit_infos, SymbolContainsSymbolWithIndex(), and UINT32_MAX.
Referenced by FindCompleteObjCDefinitionTypeForDIE(), and PrivateFindGlobalVariables().
|
protected |
Definition at line 634 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::UserID::GetID(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), and m_compile_unit_infos.
|
protected |
Definition at line 629 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolContext::comp_unit, and GetCompUnitInfo().
Referenced by GetCompUnitInfo(), GetSymbolFile(), GetTypes(), and ParseAllLanguages().
|
protected |
Definition at line 523 of file SymbolFileDWARFDebugMap.cpp.
References m_compile_unit_infos, and UINT32_MAX.
Referenced by GetModuleByCompUnitInfo().
|
protected |
Definition at line 648 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByCompUnitInfo(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), and m_compile_unit_infos.
Referenced by 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 1485 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::ModuleList::Append(), ForEachSymbolFile(), lldb_private::ModuleChild::GetModule(), and lldb_private::SymbolFileCommon::GetObjectFile().
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1347 of file SymbolFileDWARFDebugMap.cpp.
References SymbolFileDWARF::GetDeclContextContainingUID(), GetOSOIndexFromUserID(), and GetSymbolFileByOSOIndex().
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1338 of file SymbolFileDWARFDebugMap.cpp.
References SymbolFileDWARF::GetDeclContextForUID(), GetOSOIndexFromUserID(), and GetSymbolFileByOSOIndex().
|
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 787 of file SymbolFileDWARFDebugMap.cpp.
References SymbolFileDWARF::GetDynamicArrayInfoForUID(), GetOSOIndexFromUserID(), and GetSymbolFileByOSOIndex().
|
protected |
Definition at line 484 of file SymbolFileDWARFDebugMap.cpp.
References m_compile_unit_infos.
Referenced by ParseCompileUnitAtIndex().
|
protected |
Definition at line 397 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Status::AsCString(), lldb_private::ConstString::AsCString(), lldb_private::FileSystem::Exists(), 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, SymbolFileDWARFDebugMap::CompileUnitInfo::oso_load_error, SymbolFileDWARFDebugMap::CompileUnitInfo::oso_mod_time, SymbolFileDWARFDebugMap::CompileUnitInfo::oso_path, SymbolFileDWARFDebugMap::CompileUnitInfo::oso_sp, lldb_private::Status::SetErrorStringWithFormat(), lldb_private::ArchSpec::SetTriple(), and lldb_private::ObjectFile::SplitArchivePathWithObject().
Referenced by CalculateFrameVariableError(), GetCompUnitInfosForModule(), SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), GetModuleByOSOIndex(), GetObjectFileByCompUnitInfo(), GetSymbolFileByCompUnitInfo(), and ParseCompileUnitAtIndex().
|
protected |
Definition at line 390 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByCompUnitInfo(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), and m_compile_unit_infos.
Referenced by GetObjectFileByOSOIndex().
|
protected |
Definition at line 515 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByCompUnitInfo(), and lldb_private::Module::GetObjectFile().
|
protected |
Definition at line 495 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByOSOIndex(), and lldb_private::Module::GetObjectFile().
|
inlinestaticprotected |
Definition at line 218 of file SymbolFileDWARFDebugMap.h.
References DIERef::file_index(), and lldbassert.
Referenced by GetDeclContextContainingUID(), GetDeclContextForUID(), GetDynamicArrayInfoForUID(), ParseCallEdgesInFunction(), and ResolveTypeUID().
|
static |
Definition at line 235 of file SymbolFileDWARFDebugMap.cpp.
Referenced by Initialize().
|
inlineoverridevirtual |
Implements lldb_private::PluginInterface.
Definition at line 152 of file SymbolFileDWARFDebugMap.h.
References GetPluginNameStatic().
|
inlinestatic |
Definition at line 46 of file SymbolFileDWARFDebugMap.h.
Referenced by GetPluginName(), and Initialize().
|
protected |
Definition at line 508 of file SymbolFileDWARFDebugMap.cpp.
References GetCompUnitInfo(), and GetSymbolFileByCompUnitInfo().
|
protected |
Definition at line 503 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 544 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::PluginInterface::GetPluginName(), and SymbolFileDWARF::GetPluginNameStatic().
Referenced by DebugMapModule::GetSymbolFile(), GetSymbolFileByCompUnitInfo(), and LinkOSOAddress().
|
protected |
Definition at line 551 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByCompUnitInfo(), and GetSymbolFileAsSymbolFileDWARF().
Referenced by FindCompleteObjCDefinitionTypeForDIE(), GetCompileUnit(), GetCompileUnitInfo(), GetSymbolFile(), GetSymbolFileByOSOIndex(), GetTypes(), ParseCompileUnitAtIndex(), and SetCompileUnit().
|
protected |
Definition at line 536 of file SymbolFileDWARFDebugMap.cpp.
References GetSymbolFileByCompUnitInfo(), and m_compile_unit_infos.
Referenced by ForEachSymbolFile(), GetDeclContextContainingUID(), GetDeclContextForUID(), GetDynamicArrayInfoForUID(), ParseCallEdgesInFunction(), PrivateFindGlobalVariables(), and ResolveTypeUID().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 1098 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolContextScope::CalculateSymbolContext(), ForEachSymbolFile(), GetCompUnitInfo(), lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFileByCompUnitInfo(), SymbolFileDWARF::GetTypes(), and LLDB_SCOPED_TIMERF.
|
inlineprotected |
Definition at line 303 of file SymbolFileDWARFDebugMap.h.
References m_unique_ast_type_map.
Referenced by SymbolFileDWARF::GetUniqueDWARFASTTypeMap().
|
static |
Definition at line 226 of file SymbolFileDWARFDebugMap.cpp.
References CreateInstance(), GetPluginDescriptionStatic(), GetPluginNameStatic(), and lldb_private::PluginManager::RegisterPlugin().
Referenced by 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 250 of file SymbolFileDWARFDebugMap.cpp.
|
protected |
Definition at line 252 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::RangeDataVector< B, S, T, N, Compare >::Append(), lldb_private::Symtab::AppendSymbolIndexesWithType(), lldb_private::Symtab::AppendSymbolIndexesWithTypeAndFlagsValue(), lldb_private::ConstString::AsCString(), 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::RangeDataVector< B, S, T, N, Compare >::Sort(), 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 35 of file SymbolFileDWARFDebugMap.h.
References ID.
|
protected |
Convert addr from a .o file address, to an executable address.
[in] | addr | A section offset address from a .o file |
Definition at line 1426 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(), 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 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 1405 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::RangeData< B, S, T >::data, lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryThatContains(), GetCompileUnitInfo(), SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), lldb_private::Range< B, S >::GetRangeBase(), LLDB_INVALID_ADDRESS, and m_debug_map.
Referenced by SymbolFileDWARF::FixupAddress(), and 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 1454 of file SymbolFileDWARFDebugMap.cpp.
References GetCompileUnitInfo(), SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), and lldb_private::LineTable::LinkLineTable().
|
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 677 of file SymbolFileDWARFDebugMap.cpp.
References GetCompUnitInfo(), and lldb_private::CompileUnit::GetLanguage().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 748 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Function::GetCompileUnit(), lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and SymbolFileDWARF::ParseBlocksRecursive().
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1125 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::UserID::GetID(), GetOSOIndexFromUserID(), GetSymbolFileByOSOIndex(), and SymbolFileDWARF::ParseCallEdgesInFunction().
|
overrideprotectedvirtual |
This function actually returns the first compile unit the object file at the given index contains.
Implements lldb_private::SymbolFileCommon.
Definition at line 582 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, and lldb_private::SymbolFileCommon::SetCompileUnitAtIndex().
Referenced by GetCompileUnit().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 703 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and SymbolFileDWARF::ParseDebugMacros().
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1355 of file SymbolFileDWARFDebugMap.cpp.
References ForEachSymbolFile(), and SymbolFileDWARF::ParseDeclsForContext().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 687 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and SymbolFileDWARF::ParseFunctions().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 739 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and SymbolFileDWARF::ParseImportedModules().
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 731 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and SymbolFileDWARF::ParseIsOptimized().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 660 of file SymbolFileDWARFDebugMap.cpp.
References lldb::eLanguageTypeUnknown, lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and SymbolFileDWARF::ParseLanguage().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 695 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and SymbolFileDWARF::ParseLineTable().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 722 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and SymbolFileDWARF::ParseSupportFiles().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 760 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and SymbolFileDWARF::ParseTypes().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 769 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and SymbolFileDWARF::ParseVariablesForContext().
|
overridevirtual |
Return the Xcode SDK comp_unit was compiled against.
Reimplemented from lldb_private::SymbolFile.
Definition at line 668 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and SymbolFileDWARF::ParseXcodeSDK().
|
protected |
Definition at line 883 of file SymbolFileDWARFDebugMap.cpp.
References SymbolFileDWARF::FindGlobalVariables(), GetCompileUnitInfoForSymbolWithIndex(), lldb_private::VariableList::GetSize(), and GetSymbolFileByOSOIndex().
|
overridevirtual |
Implements lldb_private::SymbolFile.
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 777 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetOSOIndexFromUserID(), GetSymbolFileByOSOIndex(), and SymbolFileDWARF::ResolveTypeUID().
|
protected |
Definition at line 1311 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFileCommon::GetNumCompileUnits(), GetSymbolFileByCompUnitInfo(), m_compile_unit_infos, and lldb_private::SymbolFileCommon::SetCompileUnitAtIndex().
|
protected |
Definition at line 1144 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, ForEachSymbolFile(), m_supports_DW_AT_APPLE_objc_complete_type, and SymbolFileDWARF::Supports_DW_AT_APPLE_objc_complete_type().
Referenced by SymbolFileDWARF::Supports_DW_AT_APPLE_objc_complete_type().
|
staticprotected |
Definition at line 979 of file SymbolFileDWARFDebugMap.cpp.
Referenced by GetCompileUnitInfoForSymbolWithID().
|
staticprotected |
Definition at line 966 of file SymbolFileDWARFDebugMap.cpp.
Referenced by GetCompileUnitInfoForSymbolWithIndex().
|
static |
Definition at line 231 of file SymbolFileDWARFDebugMap.cpp.
References CreateInstance(), and lldb_private::PluginManager::UnregisterPlugin().
Referenced by SymbolFileDWARF::Terminate().
|
friend |
Definition at line 163 of file SymbolFileDWARFDebugMap.h.
|
friend |
Definition at line 164 of file SymbolFileDWARFDebugMap.h.
|
friend |
Definition at line 165 of file SymbolFileDWARFDebugMap.h.
|
friend |
Definition at line 166 of file SymbolFileDWARFDebugMap.h.
|
staticprivate |
LLVM RTTI support.
Definition at line 30 of file SymbolFileDWARFDebugMap.h.
|
protected |
Definition at line 337 of file SymbolFileDWARFDebugMap.h.
Referenced by CalculateAbilities(), CalculateNumCompileUnits(), ForEachSymbolFile(), GetCompileUnit(), GetCompileUnitInfo(), GetCompileUnitInfoForSymbolWithID(), GetCompileUnitInfoForSymbolWithIndex(), GetCompUnitInfo(), GetCompUnitInfoIndex(), GetCompUnitInfosForModule(), GetFileSpecForSO(), GetModuleByOSOIndex(), GetSymbolFileByOSOIndex(), InitOSO(), ParseCompileUnitAtIndex(), and SetCompileUnit().
|
protected |
Definition at line 345 of file SymbolFileDWARFDebugMap.h.
Referenced by AddOSOFileRange(), CalculateFrameVariableError(), InitOSO(), LinkOSOAddress(), and LinkOSOFileAddress().
|
protected |
Definition at line 336 of file SymbolFileDWARFDebugMap.h.
Referenced by InitOSO().
|
protected |
Definition at line 338 of file SymbolFileDWARFDebugMap.h.
Referenced by InitOSO().
|
protected |
Definition at line 339 of file SymbolFileDWARFDebugMap.h.
Referenced by InitOSO().
|
protected |
Definition at line 342 of file SymbolFileDWARFDebugMap.h.
Referenced by GetModuleByCompUnitInfo().
|
protected |
Definition at line 344 of file SymbolFileDWARFDebugMap.h.
Referenced by Supports_DW_AT_APPLE_objc_complete_type().
|
protected |
Definition at line 343 of file SymbolFileDWARFDebugMap.h.
Referenced by GetUniqueDWARFASTTypeMap().