LLDB  mainline
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members
SymbolFileDWARF Class Reference

#include <SymbolFileDWARF.h>

Inheritance diagram for SymbolFileDWARF:
Inheritance graph
[legend]
Collaboration diagram for SymbolFileDWARF:
Collaboration graph
[legend]

Classes

struct  DWARFDataSegment
 

Public Types

typedef std::map< lldb_private::ConstString, lldb::ModuleSP > ExternalTypeModuleMap
 
- Public Types inherited from lldb_private::SymbolFile
enum  Abilities {
  CompileUnits = (1u << 0), LineTables = (1u << 1), Functions = (1u << 2), Blocks = (1u << 3),
  GlobalVariables = (1u << 4), LocalVariables = (1u << 5), VariableTypes = (1u << 6), kAllAbilities = ((1u << 7) - 1u)
}
 

Public Member Functions

 SymbolFileDWARF (lldb_private::ObjectFile *ofile)
 
 ~SymbolFileDWARF () override
 
uint32_t CalculateAbilities () override
 
void InitializeObject () override
 Initialize the SymbolFile object. More...
 
uint32_t GetNumCompileUnits () override
 
lldb::CompUnitSP ParseCompileUnitAtIndex (uint32_t index) override
 
lldb::LanguageType ParseLanguage (lldb_private::CompileUnit &comp_unit) override
 
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 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::TypeResolveTypeUID (lldb::user_id_t type_uid) override
 
llvm::Optional< ArrayInfoGetDynamicArrayInfoForUID (lldb::user_id_t type_uid, const lldb_private::ExecutionContext *exe_ctx) override
 If type_uid points to an array type, return its characteristics. More...
 
bool CompleteType (lldb_private::CompilerType &compiler_type) override
 
lldb_private::TypeResolveType (const DWARFDIE &die, bool assert_not_being_parsed=true, bool resolve_function_context=false)
 
SymbolFileDWARFGetDWARFForUID (lldb::user_id_t uid)
 
DWARFDIE GetDIEFromUID (lldb::user_id_t uid)
 
lldb_private::CompilerDecl GetDeclForUID (lldb::user_id_t uid) override
 
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
 
uint32_t ResolveSymbolContext (const lldb_private::Address &so_addr, lldb::SymbolContextItem resolve_scope, lldb_private::SymbolContext &sc) override
 
uint32_t ResolveSymbolContext (const lldb_private::FileSpec &file_spec, uint32_t line, bool check_inlines, lldb::SymbolContextItem resolve_scope, lldb_private::SymbolContextList &sc_list) override
 
uint32_t FindGlobalVariables (lldb_private::ConstString name, const lldb_private::CompilerDeclContext *parent_decl_ctx, uint32_t max_matches, lldb_private::VariableList &variables) override
 
uint32_t FindGlobalVariables (const lldb_private::RegularExpression &regex, uint32_t max_matches, lldb_private::VariableList &variables) override
 
uint32_t FindFunctions (lldb_private::ConstString name, const lldb_private::CompilerDeclContext *parent_decl_ctx, lldb::FunctionNameType name_type_mask, bool include_inlines, bool append, lldb_private::SymbolContextList &sc_list) override
 
uint32_t FindFunctions (const lldb_private::RegularExpression &regex, bool include_inlines, bool append, lldb_private::SymbolContextList &sc_list) override
 
void GetMangledNamesForFunction (const std::string &scope_qualified_name, std::vector< lldb_private::ConstString > &mangled_names) override
 
uint32_t FindTypes (lldb_private::ConstString name, const lldb_private::CompilerDeclContext *parent_decl_ctx, bool append, uint32_t max_matches, llvm::DenseSet< lldb_private::SymbolFile *> &searched_symbol_files, lldb_private::TypeMap &types) override
 
size_t FindTypes (const std::vector< lldb_private::CompilerContext > &context, bool append, lldb_private::TypeMap &types) override
 
lldb_private::TypeListGetTypeList () override
 
size_t GetTypes (lldb_private::SymbolContextScope *sc_scope, lldb::TypeClass type_mask, lldb_private::TypeList &type_list) override
 
lldb_private::TypeSystemGetTypeSystemForLanguage (lldb::LanguageType language) override
 
lldb_private::CompilerDeclContext FindNamespace (lldb_private::ConstString name, const lldb_private::CompilerDeclContext *parent_decl_ctx) override
 
void PreloadSymbols () override
 
std::recursive_mutex & GetModuleMutex () const override
 Symbols file subclasses should override this to return the Module that owns the TypeSystem that this symbol file modifies type information in. More...
 
lldb_private::ConstString GetPluginName () override
 
uint32_t GetPluginVersion () override
 
virtual const lldb_private::DWARFDataExtractorget_debug_abbrev_data ()
 
virtual const lldb_private::DWARFDataExtractorget_debug_addr_data ()
 
const lldb_private::DWARFDataExtractorget_debug_frame_data ()
 
virtual const lldb_private::DWARFDataExtractorget_debug_info_data ()
 
const lldb_private::DWARFDataExtractorget_debug_line_data ()
 
const lldb_private::DWARFDataExtractorget_debug_line_str_data ()
 
const lldb_private::DWARFDataExtractorget_debug_macro_data ()
 
const lldb_private::DWARFDataExtractorget_debug_loc_data ()
 
const lldb_private::DWARFDataExtractorget_debug_loclists_data ()
 
const lldb_private::DWARFDataExtractorget_debug_ranges_data ()
 
const lldb_private::DWARFDataExtractorget_debug_rnglists_data ()
 
virtual const lldb_private::DWARFDataExtractorget_debug_str_data ()
 
virtual const lldb_private::DWARFDataExtractorget_debug_str_offsets_data ()
 
const lldb_private::DWARFDataExtractorget_debug_types_data ()
 
const lldb_private::DWARFDataExtractorget_apple_names_data ()
 
const lldb_private::DWARFDataExtractorget_apple_types_data ()
 
const lldb_private::DWARFDataExtractorget_apple_namespaces_data ()
 
const lldb_private::DWARFDataExtractorget_apple_objc_data ()
 
const lldb_private::DWARFDataExtractorget_gnu_debugaltlink ()
 
DWARFDebugAbbrevDebugAbbrev ()
 
const DWARFDebugAbbrevDebugAbbrev () const
 
DWARFDebugInfoDebugInfo ()
 
const DWARFDebugInfoDebugInfo () const
 
DWARFDebugRangesBaseDebugRanges ()
 
const DWARFDebugRangesBaseDebugRanges () const
 
const lldb_private::DWARFDataExtractorDebugLocData ()
 
DWARFDIE GetDeclContextDIEContainingDIE (const DWARFDIE &die)
 
bool HasForwardDeclForClangType (const lldb_private::CompilerType &compiler_type)
 
lldb_private::CompileUnitGetCompUnitForDWARFCompUnit (DWARFUnit *dwarf_cu, uint32_t cu_idx=UINT32_MAX)
 
virtual size_t GetObjCMethodDIEOffsets (lldb_private::ConstString class_name, DIEArray &method_die_offsets)
 
bool Supports_DW_AT_APPLE_objc_complete_type (DWARFUnit *cu)
 
lldb_private::DebugMacrosSP ParseDebugMacros (lldb::offset_t *offset)
 
virtual lldb::CompUnitSP ParseCompileUnit (DWARFUnit *dwarf_cu, uint32_t cu_idx)
 
virtual lldb_private::DWARFExpression::LocationListFormat GetLocationListFormat () const
 
lldb::ModuleSP GetDWOModule (lldb_private::ConstString name)
 
const ExternalTypeModuleMapgetExternalTypeModules () const
 Return the list of Clang modules imported by this SymbolFile. More...
 
virtual DWARFDIE GetDIE (const DIERef &die_ref)
 
virtual std::unique_ptr< SymbolFileDWARFDwoGetDwoSymbolFileForCompileUnit (DWARFUnit &dwarf_cu, const DWARFDebugInfoEntry &cu_die)
 
virtual DWARFUnitGetBaseCompileUnit ()
 
std::vector< lldb_private::CallEdgeParseCallEdgesInFunction (UserID func_id) override
 
void Dump (lldb_private::Stream &s) override
 
void DumpClangAST (lldb_private::Stream &s) override
 
- Public Member Functions inherited from lldb_private::SymbolFile
 SymbolFile (ObjectFile *obj_file)
 
 ~SymbolFile () override
 
uint32_t GetAbilities ()
 Get a mask of what this symbol file supports for the object file that it was constructed with. More...
 
virtual bool ParseSupportFiles (CompileUnit &comp_unit, FileSpecList &support_files)=0
 
virtual uint32_t FindTypes (ConstString name, const CompilerDeclContext *parent_decl_ctx, bool append, uint32_t max_matches, llvm::DenseSet< lldb_private::SymbolFile *> &searched_symbol_files, TypeMap &types)
 
ObjectFileGetObjectFile ()
 
const ObjectFileGetObjectFile () const
 
virtual std::vector< CallEdgeParseCallEdgesInFunction (UserID func_id)
 
virtual void AddSymbols (Symtab &symtab)
 
virtual void SectionFileAddressesChanged ()
 Notify the SymbolFile that the file addresses in the Sections for this module have been changed. More...
 
- Public Member Functions inherited from lldb_private::PluginInterface
virtual ~PluginInterface ()
 
- Public Member Functions inherited from lldb_private::UserID
 UserID (lldb::user_id_t uid=LLDB_INVALID_UID)
 Construct with optional user ID. More...
 
 ~UserID ()
 Destructor. More...
 
void Clear ()
 Clears the object state. More...
 
lldb::user_id_t GetID () const
 Get accessor for the user ID. More...
 
void SetID (lldb::user_id_t uid)
 Set accessor for the user ID. More...
 

Static Public Member Functions

static void Initialize ()
 
static void Terminate ()
 
static void DebuggerInitialize (lldb_private::Debugger &debugger)
 
static lldb_private::ConstString GetPluginNameStatic ()
 
static const char * GetPluginDescriptionStatic ()
 
static lldb_private::SymbolFileCreateInstance (lldb_private::ObjectFile *obj_file)
 
static lldb_private::FileSpecList GetSymlinkPaths ()
 
static bool SupportedVersion (uint16_t version)
 
static DWARFDIE GetParentSymbolContextDIE (const DWARFDIE &die)
 
static bool DIEInDeclContext (const lldb_private::CompilerDeclContext *parent_decl_ctx, const DWARFDIE &die)
 
- Static Public Member Functions inherited from lldb_private::SymbolFile
static SymbolFileFindPlugin (ObjectFile *obj_file)
 

Protected Types

typedef llvm::DenseMap< const DWARFDebugInfoEntry *, lldb_private::Type * > DIEToTypePtr
 
typedef llvm::DenseMap< const DWARFDebugInfoEntry *, lldb::VariableSP > DIEToVariableSP
 
typedef llvm::DenseMap< const DWARFDebugInfoEntry *, lldb::opaque_compiler_type_tDIEToClangType
 
typedef llvm::DenseMap< lldb::opaque_compiler_type_t, DIERefClangTypeToDIE
 
typedef std::set< lldb_private::Type * > TypeSet
 
typedef lldb_private::RangeDataVector< lldb::addr_t, lldb::addr_t, lldb_private::Variable * > GlobalVariableMap
 
typedef std::unordered_map< lldb::offset_t, lldb_private::DebugMacrosSPDebugMacrosMap
 
typedef std::shared_ptr< std::set< DIERef > > DIERefSetSP
 
typedef std::unordered_map< std::string, DIERefSetSPNameToOffsetMap
 

Protected Member Functions

 DISALLOW_COPY_AND_ASSIGN (SymbolFileDWARF)
 
const lldb_private::DWARFDataExtractorGetCachedSectionData (lldb::SectionType sect_type, DWARFDataSegment &data_segment)
 
virtual void LoadSectionData (lldb::SectionType sect_type, lldb_private::DWARFDataExtractor &data)
 
bool DeclContextMatchesThisSymbolFile (const lldb_private::CompilerDeclContext *decl_ctx)
 
virtual DWARFUnitGetDWARFCompileUnit (lldb_private::CompileUnit *comp_unit)
 
DWARFUnitGetNextUnparsedDWARFCompileUnit (DWARFUnit *prev_cu)
 
bool GetFunction (const DWARFDIE &die, lldb_private::SymbolContext &sc)
 
lldb_private::FunctionParseFunction (lldb_private::CompileUnit &comp_unit, const DWARFDIE &die)
 
size_t ParseBlocksRecursive (lldb_private::CompileUnit &comp_unit, lldb_private::Block *parent_block, const DWARFDIE &die, lldb::addr_t subprogram_low_pc, uint32_t depth)
 
size_t ParseTypes (const lldb_private::SymbolContext &sc, const DWARFDIE &die, bool parse_siblings, bool parse_children)
 
lldb::TypeSP ParseType (const lldb_private::SymbolContext &sc, const DWARFDIE &die, bool *type_is_new)
 
lldb_private::TypeResolveTypeUID (const DWARFDIE &die, bool assert_not_being_parsed)
 
lldb_private::TypeResolveTypeUID (const DIERef &die_ref)
 
lldb::VariableSP ParseVariableDIE (const lldb_private::SymbolContext &sc, const DWARFDIE &die, const lldb::addr_t func_low_pc)
 
size_t ParseVariables (const lldb_private::SymbolContext &sc, const DWARFDIE &orig_die, const lldb::addr_t func_low_pc, bool parse_siblings, bool parse_children, lldb_private::VariableList *cc_variable_list=NULL)
 
bool ClassOrStructIsVirtual (const DWARFDIE &die)
 
bool ResolveFunction (const DWARFDIE &die, bool include_inlines, lldb_private::SymbolContextList &sc_list)
 
virtual lldb::TypeSP FindDefinitionTypeForDWARFDeclContext (const DWARFDeclContext &die_decl_ctx)
 
virtual lldb::TypeSP FindCompleteObjCDefinitionTypeForDIE (const DWARFDIE &die, lldb_private::ConstString type_name, bool must_be_implementation)
 
lldb_private::SymbolGetObjCClassSymbol (lldb_private::ConstString objc_class_name)
 
lldb::TypeSP GetTypeForDIE (const DWARFDIE &die, bool resolve_function_context=false)
 
void SetDebugMapModule (const lldb::ModuleSP &module_sp)
 
SymbolFileDWARFDebugMapGetDebugMapSymfile ()
 
DWARFDIE FindBlockContainingSpecification (const DIERef &func_die_ref, dw_offset_t spec_block_die_offset)
 
DWARFDIE FindBlockContainingSpecification (const DWARFDIE &die, dw_offset_t spec_block_die_offset)
 
virtual UniqueDWARFASTTypeMapGetUniqueDWARFASTTypeMap ()
 
bool DIEDeclContextsMatch (const DWARFDIE &die1, const DWARFDIE &die2)
 
bool ClassContainsSelector (const DWARFDIE &class_die, lldb_private::ConstString selector)
 
bool FixupAddress (lldb_private::Address &addr)
 
void GetTypes (const DWARFDIE &die, dw_offset_t min_die_offset, dw_offset_t max_die_offset, uint32_t type_mask, TypeSet &type_set)
 
GlobalVariableMapGetGlobalAranges ()
 
void UpdateExternalModuleListIfNeeded ()
 
virtual DIEToTypePtrGetDIEToType ()
 
virtual DIEToVariableSPGetDIEToVariable ()
 
virtual DIEToClangTypeGetForwardDeclDieToClangType ()
 
virtual ClangTypeToDIEGetForwardDeclClangTypeToDie ()
 
SymbolFileDWARFDwpGetDwpSymbolFile ()
 
- Protected Member Functions inherited from lldb_private::SymbolFile
void AssertModuleLock ()
 

Protected Attributes

lldb::ModuleWP m_debug_map_module_wp
 
SymbolFileDWARFDebugMapm_debug_map_symfile
 
llvm::once_flag m_dwp_symfile_once_flag
 
std::unique_ptr< SymbolFileDWARFDwpm_dwp_symfile
 
lldb_private::DWARFContext m_context
 
DWARFDataSegment m_data_debug_abbrev
 
DWARFDataSegment m_data_debug_addr
 
DWARFDataSegment m_data_debug_frame
 
DWARFDataSegment m_data_debug_info
 
DWARFDataSegment m_data_debug_line
 
DWARFDataSegment m_data_debug_line_str
 
DWARFDataSegment m_data_debug_macro
 
DWARFDataSegment m_data_debug_loc
 
DWARFDataSegment m_data_debug_loclists
 
DWARFDataSegment m_data_debug_ranges
 
DWARFDataSegment m_data_debug_rnglists
 
DWARFDataSegment m_data_debug_str
 
DWARFDataSegment m_data_debug_str_offsets
 
DWARFDataSegment m_data_debug_types
 
DWARFDataSegment m_data_apple_names
 
DWARFDataSegment m_data_apple_types
 
DWARFDataSegment m_data_apple_namespaces
 
DWARFDataSegment m_data_apple_objc
 
DWARFDataSegment m_data_gnu_debugaltlink
 
std::unique_ptr< DWARFDebugAbbrevm_abbr
 
std::unique_ptr< DWARFDebugInfom_info
 
std::unique_ptr< DWARFDebugLinem_line
 
std::unique_ptr< GlobalVariableMapm_global_aranges_up
 
DebugMacrosMap m_debug_macros_map
 
ExternalTypeModuleMap m_external_type_modules
 
std::unique_ptr< lldb_private::DWARFIndexm_index
 
bool m_fetched_external_modules: 1
 
lldb_private::LazyBool m_supports_DW_AT_APPLE_objc_complete_type
 
NameToOffsetMap m_function_scope_qualified_name_map
 
std::unique_ptr< DWARFDebugRangesBasem_ranges
 
UniqueDWARFASTTypeMap m_unique_ast_type_map
 
DIEToTypePtr m_die_to_type
 
DIEToVariableSP m_die_to_variable_sp
 
DIEToClangType m_forward_decl_die_to_clang_type
 
ClangTypeToDIE m_forward_decl_clang_type_to_die
 
- Protected Attributes inherited from lldb_private::SymbolFile
ObjectFilem_obj_file
 
uint32_t m_abilities
 
bool m_calculated_abilities
 
- Protected Attributes inherited from lldb_private::UserID
lldb::user_id_t m_uid
 The user ID that uniquely identifies an object. More...
 

Friends

class SymbolFileDWARFDebugMap
 
class SymbolFileDWARFDwo
 
class DebugMapModule
 
struct DIERef
 
class DWARFUnit
 
class DWARFDIE
 
class DWARFASTParserClang
 

Detailed Description

Definition at line 58 of file SymbolFileDWARF.h.

Member Typedef Documentation

◆ ClangTypeToDIE

Definition at line 320 of file SymbolFileDWARF.h.

◆ DebugMacrosMap

Definition at line 482 of file SymbolFileDWARF.h.

◆ DIERefSetSP

typedef std::shared_ptr<std::set<DIERef> > SymbolFileDWARF::DIERefSetSP
protected

Definition at line 490 of file SymbolFileDWARF.h.

◆ DIEToClangType

Definition at line 319 of file SymbolFileDWARF.h.

◆ DIEToTypePtr

typedef llvm::DenseMap<const DWARFDebugInfoEntry *, lldb_private::Type *> SymbolFileDWARF::DIEToTypePtr
protected

Definition at line 314 of file SymbolFileDWARF.h.

◆ DIEToVariableSP

typedef llvm::DenseMap<const DWARFDebugInfoEntry *, lldb::VariableSP> SymbolFileDWARF::DIEToVariableSP
protected

Definition at line 316 of file SymbolFileDWARF.h.

◆ ExternalTypeModuleMap

Definition at line 283 of file SymbolFileDWARF.h.

◆ GlobalVariableMap

Definition at line 425 of file SymbolFileDWARF.h.

◆ NameToOffsetMap

typedef std::unordered_map<std::string, DIERefSetSP> SymbolFileDWARF::NameToOffsetMap
protected

Definition at line 491 of file SymbolFileDWARF.h.

◆ TypeSet

typedef std::set<lldb_private::Type *> SymbolFileDWARF::TypeSet
protected

Definition at line 417 of file SymbolFileDWARF.h.

Constructor & Destructor Documentation

◆ SymbolFileDWARF()

SymbolFileDWARF::SymbolFileDWARF ( lldb_private::ObjectFile ofile)

Definition at line 351 of file SymbolFileDWARF.cpp.

◆ ~SymbolFileDWARF()

SymbolFileDWARF::~SymbolFileDWARF ( )
override

Definition at line 366 of file SymbolFileDWARF.cpp.

Member Function Documentation

◆ CalculateAbilities()

uint32_t SymbolFileDWARF::CalculateAbilities ( )
overridevirtual

◆ ClassContainsSelector()

bool SymbolFileDWARF::ClassContainsSelector ( const DWARFDIE class_die,
lldb_private::ConstString  selector 
)
protected

Referenced by SetDebugMapModule().

◆ ClassOrStructIsVirtual()

bool SymbolFileDWARF::ClassOrStructIsVirtual ( const DWARFDIE die)
protected

◆ CompleteType()

bool SymbolFileDWARF::CompleteType ( lldb_private::CompilerType compiler_type)
overridevirtual

◆ CreateInstance()

SymbolFile * SymbolFileDWARF::CreateInstance ( lldb_private::ObjectFile obj_file)
static

Definition at line 202 of file SymbolFileDWARF.cpp.

◆ DebugAbbrev() [1/2]

DWARFDebugAbbrev * SymbolFileDWARF::DebugAbbrev ( )

◆ DebugAbbrev() [2/2]

const DWARFDebugAbbrev * SymbolFileDWARF::DebugAbbrev ( ) const

Definition at line 664 of file SymbolFileDWARF.cpp.

References m_abbr.

◆ DebuggerInitialize()

void SymbolFileDWARF::DebuggerInitialize ( lldb_private::Debugger debugger)
static

Definition at line 177 of file SymbolFileDWARF.cpp.

◆ DebugInfo() [1/2]

DWARFDebugInfo * SymbolFileDWARF::DebugInfo ( )

◆ DebugInfo() [2/2]

const DWARFDebugInfo * SymbolFileDWARF::DebugInfo ( ) const

Definition at line 681 of file SymbolFileDWARF.cpp.

References m_info.

◆ DebugLocData()

const DWARFDataExtractor & SymbolFileDWARF::DebugLocData ( )

◆ DebugRanges() [1/2]

DWARFDebugRangesBase * SymbolFileDWARF::DebugRanges ( )

◆ DebugRanges() [2/2]

const DWARFDebugRangesBase * SymbolFileDWARF::DebugRanges ( ) const

Definition at line 718 of file SymbolFileDWARF.cpp.

References m_ranges.

◆ DeclContextMatchesThisSymbolFile()

bool SymbolFileDWARF::DeclContextMatchesThisSymbolFile ( const lldb_private::CompilerDeclContext decl_ctx)
protected

◆ DIEDeclContextsMatch()

bool SymbolFileDWARF::DIEDeclContextsMatch ( const DWARFDIE die1,
const DWARFDIE die2 
)
protected

◆ DIEInDeclContext()

bool SymbolFileDWARF::DIEInDeclContext ( const lldb_private::CompilerDeclContext parent_decl_ctx,
const DWARFDIE die 
)
static

◆ DISALLOW_COPY_AND_ASSIGN()

SymbolFileDWARF::DISALLOW_COPY_AND_ASSIGN ( SymbolFileDWARF  )
protected

◆ Dump()

void SymbolFileDWARF::Dump ( lldb_private::Stream s)
overridevirtual

Reimplemented from lldb_private::SymbolFile.

Definition at line 3784 of file SymbolFileDWARF.cpp.

References m_index.

Referenced by getExternalTypeModules().

◆ DumpClangAST()

void SymbolFileDWARF::DumpClangAST ( lldb_private::Stream s)
overridevirtual

◆ FindBlockContainingSpecification() [1/2]

DWARFDIE SymbolFileDWARF::FindBlockContainingSpecification ( const DIERef func_die_ref,
dw_offset_t  spec_block_die_offset 
)
protected

Definition at line 3567 of file SymbolFileDWARF.cpp.

References DebugInfo(), and GetDIE().

Referenced by FindBlockContainingSpecification(), ParseVariables(), and SetDebugMapModule().

◆ FindBlockContainingSpecification() [2/2]

DWARFDIE SymbolFileDWARF::FindBlockContainingSpecification ( const DWARFDIE die,
dw_offset_t  spec_block_die_offset 
)
protected

◆ FindCompleteObjCDefinitionTypeForDIE()

TypeSP SymbolFileDWARF::FindCompleteObjCDefinitionTypeForDIE ( const DWARFDIE die,
lldb_private::ConstString  type_name,
bool  must_be_implementation 
)
protectedvirtual

◆ FindDefinitionTypeForDWARFDeclContext()

TypeSP SymbolFileDWARF::FindDefinitionTypeForDWARFDeclContext ( const DWARFDeclContext die_decl_ctx)
protectedvirtual

◆ FindFunctions() [1/2]

uint32_t SymbolFileDWARF::FindFunctions ( lldb_private::ConstString  name,
const lldb_private::CompilerDeclContext parent_decl_ctx,
lldb::FunctionNameType  name_type_mask,
bool  include_inlines,
bool  append,
lldb_private::SymbolContextList sc_list 
)
overridevirtual

◆ FindFunctions() [2/2]

uint32_t SymbolFileDWARF::FindFunctions ( const lldb_private::RegularExpression regex,
bool  include_inlines,
bool  append,
lldb_private::SymbolContextList sc_list 
)
overridevirtual

◆ FindGlobalVariables() [1/2]

uint32_t SymbolFileDWARF::FindGlobalVariables ( lldb_private::ConstString  name,
const lldb_private::CompilerDeclContext parent_decl_ctx,
uint32_t  max_matches,
lldb_private::VariableList variables 
)
overridevirtual

◆ FindGlobalVariables() [2/2]

uint32_t SymbolFileDWARF::FindGlobalVariables ( const lldb_private::RegularExpression regex,
uint32_t  max_matches,
lldb_private::VariableList variables 
)
overridevirtual

◆ FindNamespace()

CompilerDeclContext SymbolFileDWARF::FindNamespace ( lldb_private::ConstString  name,
const lldb_private::CompilerDeclContext parent_decl_ctx 
)
overridevirtual

◆ FindTypes() [1/2]

uint32_t SymbolFileDWARF::FindTypes ( lldb_private::ConstString  name,
const lldb_private::CompilerDeclContext parent_decl_ctx,
bool  append,
uint32_t  max_matches,
llvm::DenseSet< lldb_private::SymbolFile *> &  searched_symbol_files,
lldb_private::TypeMap types 
)
override

◆ FindTypes() [2/2]

size_t SymbolFileDWARF::FindTypes ( const std::vector< lldb_private::CompilerContext > &  context,
bool  append,
lldb_private::TypeMap types 
)
overridevirtual

◆ FixupAddress()

bool SymbolFileDWARF::FixupAddress ( lldb_private::Address addr)
protected

◆ get_apple_names_data()

const DWARFDataExtractor & SymbolFileDWARF::get_apple_names_data ( )

◆ get_apple_namespaces_data()

const DWARFDataExtractor & SymbolFileDWARF::get_apple_namespaces_data ( )

◆ get_apple_objc_data()

const DWARFDataExtractor & SymbolFileDWARF::get_apple_objc_data ( )

◆ get_apple_types_data()

const DWARFDataExtractor & SymbolFileDWARF::get_apple_types_data ( )

◆ get_debug_abbrev_data()

const DWARFDataExtractor & SymbolFileDWARF::get_debug_abbrev_data ( )
virtual

◆ get_debug_addr_data()

const DWARFDataExtractor & SymbolFileDWARF::get_debug_addr_data ( )
virtual

◆ get_debug_frame_data()

const DWARFDataExtractor & SymbolFileDWARF::get_debug_frame_data ( )

◆ get_debug_info_data()

const DWARFDataExtractor & SymbolFileDWARF::get_debug_info_data ( )
virtual

◆ get_debug_line_data()

const DWARFDataExtractor & SymbolFileDWARF::get_debug_line_data ( )

◆ get_debug_line_str_data()

const DWARFDataExtractor & SymbolFileDWARF::get_debug_line_str_data ( )

◆ get_debug_loc_data()

const DWARFDataExtractor & SymbolFileDWARF::get_debug_loc_data ( )

◆ get_debug_loclists_data()

const DWARFDataExtractor & SymbolFileDWARF::get_debug_loclists_data ( )

◆ get_debug_macro_data()

const DWARFDataExtractor & SymbolFileDWARF::get_debug_macro_data ( )

◆ get_debug_ranges_data()

const DWARFDataExtractor & SymbolFileDWARF::get_debug_ranges_data ( )

◆ get_debug_rnglists_data()

const DWARFDataExtractor & SymbolFileDWARF::get_debug_rnglists_data ( )

◆ get_debug_str_data()

const DWARFDataExtractor & SymbolFileDWARF::get_debug_str_data ( )
virtual

◆ get_debug_str_offsets_data()

const DWARFDataExtractor & SymbolFileDWARF::get_debug_str_offsets_data ( )
virtual

◆ get_debug_types_data()

const DWARFDataExtractor & SymbolFileDWARF::get_debug_types_data ( )

◆ get_gnu_debugaltlink()

const DWARFDataExtractor & SymbolFileDWARF::get_gnu_debugaltlink ( )

◆ GetBaseCompileUnit()

DWARFUnit * SymbolFileDWARF::GetBaseCompileUnit ( )
virtual

Reimplemented in SymbolFileDWARFDwo.

Definition at line 166 of file SymbolFileDWARF.cpp.

Referenced by getExternalTypeModules().

◆ GetCachedSectionData()

const DWARFDataExtractor & SymbolFileDWARF::GetCachedSectionData ( lldb::SectionType  sect_type,
DWARFDataSegment data_segment 
)
protected

◆ GetCompUnitForDWARFCompUnit()

CompileUnit * SymbolFileDWARF::GetCompUnitForDWARFCompUnit ( DWARFUnit dwarf_cu,
uint32_t  cu_idx = UINT32_MAX 
)

◆ GetDebugMapSymfile()

SymbolFileDWARFDebugMap * SymbolFileDWARF::GetDebugMapSymfile ( )
protected

◆ GetDeclContextContainingUID()

CompilerDeclContext SymbolFileDWARF::GetDeclContextContainingUID ( lldb::user_id_t  uid)
overridevirtual

◆ GetDeclContextDIEContainingDIE()

DWARFDIE SymbolFileDWARF::GetDeclContextDIEContainingDIE ( const DWARFDIE die)

◆ GetDeclContextForUID()

CompilerDeclContext SymbolFileDWARF::GetDeclContextForUID ( lldb::user_id_t  uid)
overridevirtual

◆ GetDeclForUID()

CompilerDecl SymbolFileDWARF::GetDeclForUID ( lldb::user_id_t  uid)
overridevirtual

Reimplemented from lldb_private::SymbolFile.

Definition at line 1282 of file SymbolFileDWARF.cpp.

References DWARFDIE::GetDecl(), GetDIEFromUID(), and GetModuleMutex().

◆ GetDIE()

DWARFDIE SymbolFileDWARF::GetDIE ( const DIERef die_ref)
virtual

◆ GetDIEFromUID()

DWARFDIE SymbolFileDWARF::GetDIEFromUID ( lldb::user_id_t  uid)

◆ GetDIEToType()

virtual DIEToTypePtr& SymbolFileDWARF::GetDIEToType ( )
inlineprotectedvirtual

◆ GetDIEToVariable()

virtual DIEToVariableSP& SymbolFileDWARF::GetDIEToVariable ( )
inlineprotectedvirtual

Reimplemented in SymbolFileDWARFDwo.

Definition at line 433 of file SymbolFileDWARF.h.

References m_die_to_variable_sp.

Referenced by SymbolFileDWARFDwo::GetDIEToVariable(), ParseVariableDIE(), and ParseVariables().

◆ GetDWARFCompileUnit()

DWARFUnit * SymbolFileDWARF::GetDWARFCompileUnit ( lldb_private::CompileUnit comp_unit)
protectedvirtual

◆ GetDWARFForUID()

SymbolFileDWARF * SymbolFileDWARF::GetDWARFForUID ( lldb::user_id_t  uid)

◆ GetDWOModule()

lldb::ModuleSP SymbolFileDWARF::GetDWOModule ( lldb_private::ConstString  name)

◆ GetDwoSymbolFileForCompileUnit()

std::unique_ptr< SymbolFileDWARFDwo > SymbolFileDWARF::GetDwoSymbolFileForCompileUnit ( DWARFUnit dwarf_cu,
const DWARFDebugInfoEntry cu_die 
)
virtual

◆ GetDwpSymbolFile()

SymbolFileDWARFDwp * SymbolFileDWARF::GetDwpSymbolFile ( )
protected

◆ GetDynamicArrayInfoForUID()

llvm::Optional< SymbolFile::ArrayInfo > SymbolFileDWARF::GetDynamicArrayInfoForUID ( lldb::user_id_t  type_uid,
const lldb_private::ExecutionContext exe_ctx 
)
overridevirtual

If type_uid points to an array type, return its characteristics.

To support variable-length array types, this function takes an optional ExtecutionContext. If exe_ctx is non-null, the dynamic characteristics for that context are returned.

Implements lldb_private::SymbolFile.

Definition at line 1338 of file SymbolFileDWARF.cpp.

References GetDIEFromUID(), GetModuleMutex(), and DWARFASTParser::ParseChildArrayInfo().

Referenced by SymbolFileDWARFDebugMap::GetDynamicArrayInfoForUID().

◆ getExternalTypeModules()

const ExternalTypeModuleMap& SymbolFileDWARF::getExternalTypeModules ( ) const
inline

◆ GetForwardDeclClangTypeToDie()

virtual ClangTypeToDIE& SymbolFileDWARF::GetForwardDeclClangTypeToDie ( )
inlineprotectedvirtual

◆ GetForwardDeclDieToClangType()

virtual DIEToClangType& SymbolFileDWARF::GetForwardDeclDieToClangType ( )
inlineprotectedvirtual

◆ GetFunction()

bool SymbolFileDWARF::GetFunction ( const DWARFDIE die,
lldb_private::SymbolContext sc 
)
protected

◆ GetGlobalAranges()

SymbolFileDWARF::GlobalVariableMap & SymbolFileDWARF::GetGlobalAranges ( )
protected

Definition at line 1667 of file SymbolFileDWARF.cpp.

References lldb_private::SymbolContextList::Append(), lldb_private::SymbolContext::block, lldb_private::SymbolContextScope::CalculateSymbolContext(), lldb_private::SymbolContext::comp_unit, lldb_private::RangeData< B, S, T >::data, DebugInfo(), DW_INVALID_INDEX, DW_INVALID_OFFSET, DWARF_LOG_DEBUG_INFO, lldb_private::DWARFExpression::Evaluate(), lldb_private::Block::FindBlockByID(), lldb_private::RangeDataVector< B, S, T, N >::FindEntryThatContains(), lldb_private::CompileUnit::FindFunctionByUID(), lldb_private::LineTable::FindLineEntryByAddress(), lldb_private::LineTable::FindLineEntryIndexByFileIndex(), FixupAddress(), lldb_private::SymbolContext::function, lldb_private::AddressRange::GetBaseAddress(), lldb_private::Function::GetBlock(), DWARFDebugInfo::GetCompileUnitAranges(), DWARFDebugInfo::GetCompileUnitAtIndex(), DWARFDebugInfo::GetCompileUnitAtOffset(), GetCompUnitForDWARFCompUnit(), lldb_private::FileSpec::GetDirectory(), lldb_private::Address::GetFileAddress(), DWARFBaseDIE::GetID(), lldb_private::CompileUnit::GetLineTable(), lldb_private::ModuleChild::GetModule(), lldb_private::SymbolFile::GetObjectFile(), lldb_private::Address::GetOffset(), lldb_private::SymbolContext::GetResolvedMask(), lldb_private::Value::GetScalar(), lldb_private::Address::GetSection(), lldb_private::SymbolContextList::GetSize(), lldb_private::CompileUnit::GetSupportFiles(), lldb_private::Variable::GetSymbolContextScope(), lldb_private::Value::GetValueType(), lldb_private::LineEntry::line, lldb_private::SymbolContext::line_entry, LLDB_INVALID_ADDRESS, LLDB_LOG_ERROR, DWARFUnit::LookupAddress(), DWARFDIE::LookupDeepestBlock(), m_global_aranges_up, lldb_private::SymbolFile::m_obj_file, ParseFunction(), lldb_private::LineEntry::range, ResolveSymbolContext(), UINT32_MAX, lldb_private::Scalar::ULongLong(), and lldb_private::SymbolContext::variable.

◆ GetLocationListFormat()

DWARFExpression::LocationListFormat SymbolFileDWARF::GetLocationListFormat ( ) const
virtual

◆ GetMangledNamesForFunction()

void SymbolFileDWARF::GetMangledNamesForFunction ( const std::string &  scope_qualified_name,
std::vector< lldb_private::ConstString > &  mangled_names 
)
overridevirtual

◆ GetModuleMutex()

std::recursive_mutex & SymbolFileDWARF::GetModuleMutex ( ) const
overridevirtual

Symbols file subclasses should override this to return the Module that owns the TypeSystem that this symbol file modifies type information in.

Reimplemented from lldb_private::SymbolFile.

Definition at line 1974 of file SymbolFileDWARF.cpp.

References lldb_private::ModuleChild::GetModule(), lldb_private::SymbolFile::GetObjectFile(), and m_debug_map_module_wp.

Referenced by CompleteType(), GetDeclContextContainingUID(), GetDeclContextForUID(), GetDeclForUID(), GetDIEFromUID(), GetDWARFForUID(), GetDynamicArrayInfoForUID(), PreloadSymbols(), and ResolveTypeUID().

◆ GetNextUnparsedDWARFCompileUnit()

DWARFUnit* SymbolFileDWARF::GetNextUnparsedDWARFCompileUnit ( DWARFUnit prev_cu)
protected

◆ GetNumCompileUnits()

uint32_t SymbolFileDWARF::GetNumCompileUnits ( )
overridevirtual

◆ GetObjCClassSymbol()

Symbol * SymbolFileDWARF::GetObjCClassSymbol ( lldb_private::ConstString  objc_class_name)
protected

◆ GetObjCMethodDIEOffsets()

size_t SymbolFileDWARF::GetObjCMethodDIEOffsets ( lldb_private::ConstString  class_name,
DIEArray method_die_offsets 
)
virtual

◆ GetParentSymbolContextDIE()

DWARFDIE SymbolFileDWARF::GetParentSymbolContextDIE ( const DWARFDIE die)
static

◆ GetPluginDescriptionStatic()

const char * SymbolFileDWARF::GetPluginDescriptionStatic ( )
static

Definition at line 198 of file SymbolFileDWARF.cpp.

◆ GetPluginName()

ConstString SymbolFileDWARF::GetPluginName ( )
overridevirtual

Implements lldb_private::PluginInterface.

Definition at line 3780 of file SymbolFileDWARF.cpp.

References GetPluginNameStatic().

◆ GetPluginNameStatic()

lldb_private::ConstString SymbolFileDWARF::GetPluginNameStatic ( )
static

◆ GetPluginVersion()

uint32_t SymbolFileDWARF::GetPluginVersion ( )
overridevirtual

Implements lldb_private::PluginInterface.

Definition at line 3782 of file SymbolFileDWARF.cpp.

◆ GetSymlinkPaths()

FileSpecList SymbolFileDWARF::GetSymlinkPaths ( )
static

Definition at line 162 of file SymbolFileDWARF.cpp.

Referenced by resolveCompDir().

◆ GetTypeForDIE()

TypeSP SymbolFileDWARF::GetTypeForDIE ( const DWARFDIE die,
bool  resolve_function_context = false 
)
protected

◆ GetTypeList()

TypeList * SymbolFileDWARF::GetTypeList ( )
overridevirtual

◆ GetTypes() [1/2]

size_t SymbolFileDWARF::GetTypes ( lldb_private::SymbolContextScope sc_scope,
lldb::TypeClass  type_mask,
lldb_private::TypeList type_list 
)
overridevirtual

◆ GetTypes() [2/2]

void SymbolFileDWARF::GetTypes ( const DWARFDIE die,
dw_offset_t  min_die_offset,
dw_offset_t  max_die_offset,
uint32_t  type_mask,
TypeSet type_set 
)
protected

◆ GetTypeSystemForLanguage()

TypeSystem * SymbolFileDWARF::GetTypeSystemForLanguage ( lldb::LanguageType  language)
overridevirtual

◆ GetUniqueDWARFASTTypeMap()

UniqueDWARFASTTypeMap & SymbolFileDWARF::GetUniqueDWARFASTTypeMap ( )
protectedvirtual

◆ HasForwardDeclForClangType()

bool SymbolFileDWARF::HasForwardDeclForClangType ( const lldb_private::CompilerType compiler_type)

◆ Initialize()

void SymbolFileDWARF::Initialize ( )
static

◆ InitializeObject()

void SymbolFileDWARF::InitializeObject ( )
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 394 of file SymbolFileDWARF.cpp.

References DebugInfo(), DWARF_LOG_DEBUG_INFO, lldb::eSectionTypeDWARFAppleNames, lldb::eSectionTypeDWARFAppleNamespaces, lldb::eSectionTypeDWARFAppleObjC, lldb::eSectionTypeDWARFAppleTypes, lldb::eSectionTypeDWARFDebugNames, get_debug_str_data(), lldb_private::DataExtractor::GetByteSize(), lldb_private::ModuleChild::GetModule(), lldb_private::SymbolFile::GetObjectFile(), LLDB_LOG_ERROR, LoadSectionData(), and m_index.

◆ LoadSectionData()

void SymbolFileDWARF::LoadSectionData ( lldb::SectionType  sect_type,
lldb_private::DWARFDataExtractor data 
)
protectedvirtual

◆ ParseBlocksRecursive() [1/2]

size_t SymbolFileDWARF::ParseBlocksRecursive ( lldb_private::Function func)
overridevirtual

◆ ParseBlocksRecursive() [2/2]

size_t SymbolFileDWARF::ParseBlocksRecursive ( lldb_private::CompileUnit comp_unit,
lldb_private::Block parent_block,
const DWARFDIE die,
lldb::addr_t  subprogram_low_pc,
uint32_t  depth 
)
protected

◆ ParseCallEdgesInFunction()

std::vector< lldb_private::CallEdge > SymbolFileDWARF::ParseCallEdgesInFunction ( UserID  func_id)
override

◆ ParseCompileUnit()

lldb::CompUnitSP SymbolFileDWARF::ParseCompileUnit ( DWARFUnit dwarf_cu,
uint32_t  cu_idx 
)
virtual

◆ ParseCompileUnitAtIndex()

CompUnitSP SymbolFileDWARF::ParseCompileUnitAtIndex ( uint32_t  index)
overridevirtual

◆ ParseDebugMacros() [1/2]

bool SymbolFileDWARF::ParseDebugMacros ( lldb_private::CompileUnit comp_unit)
overridevirtual

◆ ParseDebugMacros() [2/2]

lldb_private::DebugMacrosSP SymbolFileDWARF::ParseDebugMacros ( lldb::offset_t offset)

◆ ParseDeclsForContext()

void SymbolFileDWARF::ParseDeclsForContext ( lldb_private::CompilerDeclContext  decl_ctx)
overridevirtual

◆ ParseFunction()

Function * SymbolFileDWARF::ParseFunction ( lldb_private::CompileUnit comp_unit,
const DWARFDIE die 
)
protected

◆ ParseFunctions()

size_t SymbolFileDWARF::ParseFunctions ( lldb_private::CompileUnit comp_unit)
overridevirtual

◆ ParseImportedModules()

bool SymbolFileDWARF::ParseImportedModules ( const lldb_private::SymbolContext sc,
std::vector< lldb_private::SourceModule > &  imported_modules 
)
overridevirtual

◆ ParseIsOptimized()

bool SymbolFileDWARF::ParseIsOptimized ( lldb_private::CompileUnit comp_unit)
overridevirtual

◆ ParseLanguage()

lldb::LanguageType SymbolFileDWARF::ParseLanguage ( lldb_private::CompileUnit comp_unit)
overridevirtual

◆ ParseLineTable()

bool SymbolFileDWARF::ParseLineTable ( lldb_private::CompileUnit comp_unit)
overridevirtual

◆ ParseSupportFiles()

bool SymbolFileDWARF::ParseSupportFiles ( lldb_private::CompileUnit comp_unit,
lldb_private::FileSpecList &  support_files 
)
override

◆ ParseType()

TypeSP SymbolFileDWARF::ParseType ( const lldb_private::SymbolContext sc,
const DWARFDIE die,
bool *  type_is_new 
)
protected

◆ ParseTypes() [1/2]

size_t SymbolFileDWARF::ParseTypes ( lldb_private::CompileUnit comp_unit)
overridevirtual

◆ ParseTypes() [2/2]

size_t SymbolFileDWARF::ParseTypes ( const lldb_private::SymbolContext sc,
const DWARFDIE die,
bool  parse_siblings,
bool  parse_children 
)
protected

◆ ParseVariableDIE()

VariableSP SymbolFileDWARF::ParseVariableDIE ( const lldb_private::SymbolContext sc,
const DWARFDIE die,
const lldb::addr_t  func_low_pc 
)
protected

Definition at line 3158 of file SymbolFileDWARF.cpp.

References DWARFFormValue::AsCString(), DWARFAttributes::AttributeAtIndex(), DWARFFormValue::BlockData(), DWARFFormValue::Boolean(), lldb_private::RangeVector< B, S >::CombineConsecutiveRanges(), lldb_private::SymbolContext::comp_unit, DWARFAttributes::CompileUnitAtIndex(), DebugLocData(), DebugRanges(), DWARFAttributes::DIEOffsetAtIndex(), DIERef, lldb::eDescriptionLevelFull, lldb::eSymbolTypeData, lldb::eValueTypeInvalid, lldb::eValueTypeVariableArgument, lldb::eValueTypeVariableGlobal, lldb::eValueTypeVariableLocal, lldb::eValueTypeVariableStatic, lldb::eValueTypeVariableThreadLocal, DWARFAttributes::ExtractFormValueAtIndex(), lldb_private::Block::FindBlockByID(), lldb_private::Symtab::FindFirstSymbolWithNameAndType(), DWARFDebugRangesBase::FindRanges(), DWARFFormValue::Form(), lldb_private::SymbolContext::function, DWARFUnit::GetAddressByteSize(), lldb_private::Symbol::GetAddressRef(), DWARFBaseDIE::GetAttributes(), DWARFUnit::GetBaseAddress(), lldb_private::Function::GetBlock(), lldb_private::ConstString::GetCString(), DWARFBaseDIE::GetCU(), lldb_private::StreamString::GetData(), DWARFBaseDIE::GetData(), GetDebugMapSymfile(), GetDeclContextDIEContainingDIE(), DWARFDIE::GetDIE(), GetDIE(), GetDIEToVariable(), DWARFBaseDIE::GetDWARF(), DWARFDIE::GetDWARFDeclContext(), lldb_private::Address::GetFileAddress(), DWARFFormValue::GetFixedFormSizesForAddressSize(), DWARFBaseDIE::GetID(), DWARFBaseDIE::GetLanguage(), lldb_private::ModuleChild::GetModule(), lldb_private::SymbolFile::GetObjectFile(), DWARFBaseDIE::GetOffset(), DWARFDIE::GetParent(), GetParentSymbolContextDIE(), DWARFDeclContext::GetQualifiedNameAsConstString(), DWARFFormValue::FixedFormSizes::GetSize(), lldb_private::CompileUnit::GetSupportFiles(), lldb_private::ObjectFile::GetSymtab(), DWARFBaseDIE::GetTagAsCString(), DWARFFormValue::IsBlockForm(), DWARFFormValue::IsDataForm(), SymbolFileDWARFDebugMap::LinkOSOFileAddress(), LLDB_INVALID_ADDRESS, ParseVariableDIE(), lldb_private::Declaration::SetColumn(), lldb_private::Declaration::SetFile(), lldb_private::Declaration::SetLine(), lldb_private::RangeVector< B, S >::Sort(), DWARFBaseDIE::Tag(), DWARFFormValue::Unsigned(), and lldb_private::Symbol::ValueIsAddress().

Referenced by ParseVariableDIE(), ParseVariables(), and ParseVariablesForContext().

◆ ParseVariables()

size_t SymbolFileDWARF::ParseVariables ( const lldb_private::SymbolContext sc,
const DWARFDIE orig_die,
const lldb::addr_t  func_low_pc,
bool  parse_siblings,
bool  parse_children,
lldb_private::VariableList cc_variable_list = NULL 
)
protected

◆ ParseVariablesForContext()

size_t SymbolFileDWARF::ParseVariablesForContext ( const lldb_private::SymbolContext sc)
overridevirtual

◆ PreloadSymbols()

void SymbolFileDWARF::PreloadSymbols ( )
overridevirtual

Reimplemented from lldb_private::SymbolFile.

Definition at line 1969 of file SymbolFileDWARF.cpp.

References GetModuleMutex(), and m_index.

◆ ResolveFunction()

bool SymbolFileDWARF::ResolveFunction ( const DWARFDIE die,
bool  include_inlines,
lldb_private::SymbolContextList sc_list 
)
protected

◆ ResolveSymbolContext() [1/2]

uint32_t SymbolFileDWARF::ResolveSymbolContext ( const lldb_private::Address so_addr,
lldb::SymbolContextItem  resolve_scope,
lldb_private::SymbolContext sc 
)
overridevirtual

◆ ResolveSymbolContext() [2/2]

uint32_t SymbolFileDWARF::ResolveSymbolContext ( const lldb_private::FileSpec file_spec,
uint32_t  line,
bool  check_inlines,
lldb::SymbolContextItem  resolve_scope,
lldb_private::SymbolContextList sc_list 
)
overridevirtual

Reimplemented from lldb_private::SymbolFile.

◆ ResolveType()

Type * SymbolFileDWARF::ResolveType ( const DWARFDIE die,
bool  assert_not_being_parsed = true,
bool  resolve_function_context = false 
)

◆ ResolveTypeUID() [1/3]

Type * SymbolFileDWARF::ResolveTypeUID ( lldb::user_id_t  type_uid)
overridevirtual

◆ ResolveTypeUID() [2/3]

Type * SymbolFileDWARF::ResolveTypeUID ( const DWARFDIE die,
bool  assert_not_being_parsed 
)
protected

◆ ResolveTypeUID() [3/3]

Type * SymbolFileDWARF::ResolveTypeUID ( const DIERef die_ref)
protected

Definition at line 1348 of file SymbolFileDWARF.cpp.

References GetDIE(), and ResolveType().

◆ SetDebugMapModule()

void SymbolFileDWARF::SetDebugMapModule ( const lldb::ModuleSP &  module_sp)
inlineprotected

◆ SupportedVersion()

bool SymbolFileDWARF::SupportedVersion ( uint16_t  version)
static

◆ Supports_DW_AT_APPLE_objc_complete_type()

bool SymbolFileDWARF::Supports_DW_AT_APPLE_objc_complete_type ( DWARFUnit cu)

◆ Terminate()

void SymbolFileDWARF::Terminate ( )
static

Definition at line 188 of file SymbolFileDWARF.cpp.

Referenced by lldb_private::SystemInitializerFull::Terminate().

◆ UpdateExternalModuleListIfNeeded()

void SymbolFileDWARF::UpdateExternalModuleListIfNeeded ( )
protected

Friends And Related Function Documentation

◆ DebugMapModule

friend class DebugMapModule
friend

Definition at line 63 of file SymbolFileDWARF.h.

◆ DIERef

friend struct DIERef
friend

◆ DWARFASTParserClang

friend class DWARFASTParserClang
friend

Definition at line 67 of file SymbolFileDWARF.h.

◆ DWARFDIE

friend class DWARFDIE
friend

◆ DWARFUnit

friend class DWARFUnit
friend

Definition at line 65 of file SymbolFileDWARF.h.

◆ SymbolFileDWARFDebugMap

friend class SymbolFileDWARFDebugMap
friend

Definition at line 61 of file SymbolFileDWARF.h.

◆ SymbolFileDWARFDwo

friend class SymbolFileDWARFDwo
friend

Definition at line 62 of file SymbolFileDWARF.h.

Member Data Documentation

◆ m_abbr

std::unique_ptr<DWARFDebugAbbrev> SymbolFileDWARF::m_abbr
protected

Definition at line 476 of file SymbolFileDWARF.h.

Referenced by DebugAbbrev().

◆ m_context

lldb_private::DWARFContext SymbolFileDWARF::m_context
protected

Definition at line 451 of file SymbolFileDWARF.h.

Referenced by DebugInfo().

◆ m_data_apple_names

DWARFDataSegment SymbolFileDWARF::m_data_apple_names
protected

Definition at line 467 of file SymbolFileDWARF.h.

Referenced by get_apple_names_data().

◆ m_data_apple_namespaces

DWARFDataSegment SymbolFileDWARF::m_data_apple_namespaces
protected

Definition at line 469 of file SymbolFileDWARF.h.

Referenced by get_apple_namespaces_data().

◆ m_data_apple_objc

DWARFDataSegment SymbolFileDWARF::m_data_apple_objc
protected

Definition at line 470 of file SymbolFileDWARF.h.

Referenced by get_apple_objc_data().

◆ m_data_apple_types

DWARFDataSegment SymbolFileDWARF::m_data_apple_types
protected

Definition at line 468 of file SymbolFileDWARF.h.

Referenced by get_apple_types_data().

◆ m_data_debug_abbrev

DWARFDataSegment SymbolFileDWARF::m_data_debug_abbrev
protected

◆ m_data_debug_addr

DWARFDataSegment SymbolFileDWARF::m_data_debug_addr
protected

◆ m_data_debug_frame

DWARFDataSegment SymbolFileDWARF::m_data_debug_frame
protected

Definition at line 455 of file SymbolFileDWARF.h.

Referenced by get_debug_frame_data().

◆ m_data_debug_info

DWARFDataSegment SymbolFileDWARF::m_data_debug_info
protected

◆ m_data_debug_line

DWARFDataSegment SymbolFileDWARF::m_data_debug_line
protected

Definition at line 457 of file SymbolFileDWARF.h.

Referenced by get_debug_line_data().

◆ m_data_debug_line_str

DWARFDataSegment SymbolFileDWARF::m_data_debug_line_str
protected

Definition at line 458 of file SymbolFileDWARF.h.

Referenced by get_debug_line_str_data().

◆ m_data_debug_loc

DWARFDataSegment SymbolFileDWARF::m_data_debug_loc
protected

Definition at line 460 of file SymbolFileDWARF.h.

Referenced by get_debug_loc_data().

◆ m_data_debug_loclists

DWARFDataSegment SymbolFileDWARF::m_data_debug_loclists
protected

Definition at line 461 of file SymbolFileDWARF.h.

Referenced by get_debug_loclists_data(), and GetLocationListFormat().

◆ m_data_debug_macro

DWARFDataSegment SymbolFileDWARF::m_data_debug_macro
protected

Definition at line 459 of file SymbolFileDWARF.h.

Referenced by get_debug_macro_data().

◆ m_data_debug_ranges

DWARFDataSegment SymbolFileDWARF::m_data_debug_ranges
protected

Definition at line 462 of file SymbolFileDWARF.h.

Referenced by get_debug_ranges_data().

◆ m_data_debug_rnglists

DWARFDataSegment SymbolFileDWARF::m_data_debug_rnglists
protected

Definition at line 463 of file SymbolFileDWARF.h.

Referenced by get_debug_rnglists_data().

◆ m_data_debug_str

DWARFDataSegment SymbolFileDWARF::m_data_debug_str
protected

◆ m_data_debug_str_offsets

DWARFDataSegment SymbolFileDWARF::m_data_debug_str_offsets
protected

◆ m_data_debug_types

DWARFDataSegment SymbolFileDWARF::m_data_debug_types
protected

Definition at line 466 of file SymbolFileDWARF.h.

Referenced by get_debug_types_data().

◆ m_data_gnu_debugaltlink

DWARFDataSegment SymbolFileDWARF::m_data_gnu_debugaltlink
protected

Definition at line 471 of file SymbolFileDWARF.h.

Referenced by get_gnu_debugaltlink().

◆ m_debug_macros_map

DebugMacrosMap SymbolFileDWARF::m_debug_macros_map
protected

Definition at line 483 of file SymbolFileDWARF.h.

Referenced by ParseDebugMacros().

◆ m_debug_map_module_wp

lldb::ModuleWP SymbolFileDWARF::m_debug_map_module_wp
protected

Definition at line 445 of file SymbolFileDWARF.h.

Referenced by GetDebugMapSymfile(), GetModuleMutex(), and SetDebugMapModule().

◆ m_debug_map_symfile

SymbolFileDWARFDebugMap* SymbolFileDWARF::m_debug_map_symfile
protected

◆ m_die_to_type

DIEToTypePtr SymbolFileDWARF::m_die_to_type
protected

Definition at line 495 of file SymbolFileDWARF.h.

Referenced by GetDIEToType().

◆ m_die_to_variable_sp

DIEToVariableSP SymbolFileDWARF::m_die_to_variable_sp
protected

Definition at line 496 of file SymbolFileDWARF.h.

Referenced by GetDIEToVariable().

◆ m_dwp_symfile

std::unique_ptr<SymbolFileDWARFDwp> SymbolFileDWARF::m_dwp_symfile
protected

Definition at line 449 of file SymbolFileDWARF.h.

Referenced by GetDwpSymbolFile().

◆ m_dwp_symfile_once_flag

llvm::once_flag SymbolFileDWARF::m_dwp_symfile_once_flag
protected

Definition at line 448 of file SymbolFileDWARF.h.

Referenced by GetDwpSymbolFile().

◆ m_external_type_modules

ExternalTypeModuleMap SymbolFileDWARF::m_external_type_modules
protected

◆ m_fetched_external_modules

bool SymbolFileDWARF::m_fetched_external_modules
protected

Definition at line 487 of file SymbolFileDWARF.h.

Referenced by UpdateExternalModuleListIfNeeded().

◆ m_forward_decl_clang_type_to_die

ClangTypeToDIE SymbolFileDWARF::m_forward_decl_clang_type_to_die
protected

Definition at line 498 of file SymbolFileDWARF.h.

Referenced by GetForwardDeclClangTypeToDie().

◆ m_forward_decl_die_to_clang_type

DIEToClangType SymbolFileDWARF::m_forward_decl_die_to_clang_type
protected

Definition at line 497 of file SymbolFileDWARF.h.

Referenced by GetForwardDeclDieToClangType().

◆ m_function_scope_qualified_name_map

NameToOffsetMap SymbolFileDWARF::m_function_scope_qualified_name_map
protected

Definition at line 492 of file SymbolFileDWARF.h.

Referenced by GetMangledNamesForFunction(), and ParseType().

◆ m_global_aranges_up

std::unique_ptr<GlobalVariableMap> SymbolFileDWARF::m_global_aranges_up
protected

Definition at line 479 of file SymbolFileDWARF.h.

Referenced by GetGlobalAranges().

◆ m_index

std::unique_ptr<lldb_private::DWARFIndex> SymbolFileDWARF::m_index
protected

◆ m_info

std::unique_ptr<DWARFDebugInfo> SymbolFileDWARF::m_info
protected

Definition at line 477 of file SymbolFileDWARF.h.

Referenced by DebugInfo().

◆ m_line

std::unique_ptr<DWARFDebugLine> SymbolFileDWARF::m_line
protected

Definition at line 478 of file SymbolFileDWARF.h.

◆ m_ranges

std::unique_ptr<DWARFDebugRangesBase> SymbolFileDWARF::m_ranges
protected

Definition at line 493 of file SymbolFileDWARF.h.

Referenced by DebugRanges().

◆ m_supports_DW_AT_APPLE_objc_complete_type

lldb_private::LazyBool SymbolFileDWARF::m_supports_DW_AT_APPLE_objc_complete_type
protected

Definition at line 488 of file SymbolFileDWARF.h.

Referenced by Supports_DW_AT_APPLE_objc_complete_type().

◆ m_unique_ast_type_map

UniqueDWARFASTTypeMap SymbolFileDWARF::m_unique_ast_type_map
protected

Definition at line 494 of file SymbolFileDWARF.h.

Referenced by GetUniqueDWARFASTTypeMap().


The documentation for this class was generated from the following files: