LLDB mainline
Classes | Public Member Functions | List of all members
DWARFDIE Class Reference

#include <DWARFDIE.h>

Inheritance diagram for DWARFDIE:
Inheritance graph
[legend]

Classes

class  child_iterator
 

Public Member Functions

bool IsStructUnionOrClass () const
 
bool IsMethod () const
 
const char * GetMangledName () const
 
const char * GetPubname () const
 
void GetName (lldb_private::Stream &s) const
 
void AppendTypeName (lldb_private::Stream &s) const
 
lldb_private::TypeResolveType () const
 
lldb_private::TypeResolveTypeUID (const DWARFDIE &die) const
 
DWARFDIE GetParent () const
 
DWARFDIE GetFirstChild () const
 
DWARFDIE GetSibling () const
 
DWARFDIE GetReferencedDIE (const dw_attr_t attr) const
 
DWARFDIE GetDIE (dw_offset_t die_offset) const
 
DWARFDIE LookupDeepestBlock (lldb::addr_t file_addr) const
 
DWARFDIE GetParentDeclContextDIE () const
 
std::vector< DWARFDIEGetDeclContextDIEs () const
 
void GetDeclContext (llvm::SmallVectorImpl< lldb_private::CompilerContext > &context) const
 Return this DIE's decl context as it is needed to look up types in Clang's -gmodules debug info format.
 
DWARFDIE GetAttributeValueAsReferenceDIE (const dw_attr_t attr) const
 
bool GetDIENamesAndRanges (const char *&name, const char *&mangled, DWARFRangeList &ranges, std::optional< int > &decl_file, std::optional< int > &decl_line, std::optional< int > &decl_column, std::optional< int > &call_file, std::optional< int > &call_line, std::optional< int > &call_column, lldb_private::DWARFExpressionList *frame_base) const
 
llvm::iterator_range< child_iteratorchildren () const
 The range of all the children of this DIE.
 
 DWARFBaseDIE ()=default
 
 DWARFBaseDIE (DWARFUnit *cu, DWARFDebugInfoEntry *die)
 
 DWARFBaseDIE (const DWARFUnit *cu, DWARFDebugInfoEntry *die)
 
 DWARFBaseDIE (DWARFUnit *cu, const DWARFDebugInfoEntry *die)
 
 DWARFBaseDIE (const DWARFUnit *cu, const DWARFDebugInfoEntry *die)
 
const char * GetName () const
 
DWARFDebugInfoEntryGetDIE () const
 
- Public Member Functions inherited from DWARFBaseDIE
 DWARFBaseDIE ()=default
 
 DWARFBaseDIE (DWARFUnit *cu, DWARFDebugInfoEntry *die)
 
 DWARFBaseDIE (const DWARFUnit *cu, DWARFDebugInfoEntry *die)
 
 DWARFBaseDIE (DWARFUnit *cu, const DWARFDebugInfoEntry *die)
 
 DWARFBaseDIE (const DWARFUnit *cu, const DWARFDebugInfoEntry *die)
 
 operator bool () const
 
bool IsValid () const
 
bool HasChildren () const
 
bool Supports_DW_AT_APPLE_objc_complete_type () const
 
SymbolFileDWARFGetDWARF () const
 
DWARFUnitGetCU () const
 
DWARFDebugInfoEntryGetDIE () const
 
std::optional< DIERefGetDIERef () const
 
void Set (DWARFUnit *cu, DWARFDebugInfoEntry *die)
 
void Clear ()
 
const lldb_private::DWARFDataExtractorGetData () const
 
dw_tag_t Tag () const
 
const char * GetTagAsCString () const
 
dw_offset_t GetOffset () const
 
lldb::user_id_t GetID () const
 
const char * GetName () const
 
lldb::ModuleSP GetModule () const
 
const char * GetAttributeValueAsString (const dw_attr_t attr, const char *fail_value) const
 
uint64_t GetAttributeValueAsUnsigned (const dw_attr_t attr, uint64_t fail_value) const
 
std::optional< uint64_t > GetAttributeValueAsOptionalUnsigned (const dw_attr_t attr) const
 
uint64_t GetAttributeValueAsAddress (const dw_attr_t attr, uint64_t fail_value) const
 
DWARFAttributes GetAttributes (Recurse recurse=Recurse::yes) const
 

Additional Inherited Members

- Public Types inherited from DWARFBaseDIE
enum class  Recurse : bool { no , yes }
 
- Protected Attributes inherited from DWARFBaseDIE
DWARFUnitm_cu = nullptr
 
DWARFDebugInfoEntrym_die = nullptr
 

Detailed Description

Definition at line 16 of file DWARFDIE.h.

Member Function Documentation

◆ AppendTypeName()

void DWARFDIE::AppendTypeName ( lldb_private::Stream s) const

◆ children()

llvm::iterator_range< DWARFDIE::child_iterator > DWARFDIE::children ( ) const

◆ DWARFBaseDIE() [1/5]

DWARFBaseDIE::DWARFBaseDIE ( )
default

◆ DWARFBaseDIE() [2/5]

DWARFBaseDIE::DWARFBaseDIE ( const DWARFUnit cu,
const DWARFDebugInfoEntry die 
)
inline

Definition at line 39 of file DWARFBaseDIE.h.

◆ DWARFBaseDIE() [3/5]

DWARFBaseDIE::DWARFBaseDIE ( const DWARFUnit cu,
DWARFDebugInfoEntry die 
)
inline

Definition at line 33 of file DWARFBaseDIE.h.

◆ DWARFBaseDIE() [4/5]

DWARFBaseDIE::DWARFBaseDIE ( DWARFUnit cu,
const DWARFDebugInfoEntry die 
)
inline

Definition at line 36 of file DWARFBaseDIE.h.

◆ DWARFBaseDIE() [5/5]

DWARFBaseDIE::DWARFBaseDIE ( DWARFUnit cu,
DWARFDebugInfoEntry die 
)
inline

Definition at line 30 of file DWARFBaseDIE.h.

◆ GetAttributeValueAsReferenceDIE()

DWARFDIE DWARFDIE::GetAttributeValueAsReferenceDIE ( const dw_attr_t  attr) const

◆ GetDeclContext()

void DWARFDIE::GetDeclContext ( llvm::SmallVectorImpl< lldb_private::CompilerContext > &  context) const

Return this DIE's decl context as it is needed to look up types in Clang's -gmodules debug info format.

Definition at line 375 of file DWARFDIE.cpp.

References GetDeclContext(), GetName(), GetParent(), GetPubname(), and DWARFBaseDIE::Tag().

Referenced by GetDeclContext(), and DWARFASTParserClang::ParseTypeFromClangModule().

◆ GetDeclContextDIEs()

std::vector< DWARFDIE > DWARFDIE::GetDeclContextDIEs ( ) const

◆ GetDIE() [1/2]

DWARFDebugInfoEntry * DWARFBaseDIE::GetDIE ( ) const
inline

Definition at line 57 of file DWARFBaseDIE.h.

Referenced by AppendTypeName(), GetDeclContextDIEs(), and GetName().

◆ GetDIE() [2/2]

DWARFDIE DWARFDIE::GetDIE ( dw_offset_t  die_offset) const

Definition at line 118 of file DWARFDIE.cpp.

References DWARFUnit::GetDIE(), DWARFBaseDIE::IsValid(), and DWARFBaseDIE::m_cu.

Referenced by SymbolFileDWARF::CompleteType(), DWARFASTParserClang::CopyUniqueClassMethodTypes(), SymbolFileDWARF::FindCompleteObjCDefinitionTypeForDIE(), SymbolFileDWARF::FindFunctions(), DWARFDebugInfoEntry::GetAttributes(), DWARFDebugInfoEntry::GetAttributeValue(), DWARFASTParserClang::GetCachedClangDeclContextForDIE(), DWARFASTParserClang::GetClangDeclForDIE(), GetDeclContextDIEs(), SymbolFileDWARF::GetDWARFDeclContext(), DWARFDebugInfoEntry::GetDWARFDeclContextStatic(), lldb_private::DebugNamesDWARFIndex::GetFunctions(), DWARFASTParserClang::GetOwningClangModule(), DWARFDebugInfoEntry::GetParentDeclContextDIE(), SymbolFileDWARF::GetTypeForDIE(), DWARFASTParserClang::LinkDeclContextToDIE(), lldb_private::DWARFIndex::DIERefCallbackImpl::operator()(), SymbolFileDWARF::ParseAndAppendGlobalVariable(), DWARFASTParserClang::ParseEnum(), SymbolFileDWARF::ParseFunction(), DWARFASTParserClang::ParseFunctionFromDWARF(), DWARFASTParserClang::ParseStructureLikeDIE(), DWARFASTParserClang::ParseSubroutine(), DWARFASTParserClang::ParseTypeFromClangModule(), DWARFASTParserClang::ParseTypeFromDWARF(), DWARFASTParserClang::ParseTypeModifier(), SymbolFileDWARF::ParseVariableDIE(), SymbolFileDWARF::ParseVariableDIECached(), SymbolFileDWARF::ParseVariablesForContext(), DWARFASTParserClang::ResolveBlockDIE(), DWARFASTParserClang::ResolveImportedDeclarationDIE(), DWARFASTParserClang::ResolveNamespaceDIE(), and DWARFASTParserClang::UpdateSymbolContextScopeForType().

◆ GetDIENamesAndRanges()

bool DWARFDIE::GetDIENamesAndRanges ( const char *&  name,
const char *&  mangled,
DWARFRangeList ranges,
std::optional< int > &  decl_file,
std::optional< int > &  decl_line,
std::optional< int > &  decl_column,
std::optional< int > &  call_file,
std::optional< int > &  call_line,
std::optional< int > &  call_column,
lldb_private::DWARFExpressionList frame_base 
) const

◆ GetFirstChild()

DWARFDIE DWARFDIE::GetFirstChild ( ) const

◆ GetMangledName()

const char * DWARFDIE::GetMangledName ( ) const

◆ GetName() [1/2]

const char * DWARFBaseDIE::GetName ( ) const

Definition at line 96 of file DWARFBaseDIE.cpp.

Referenced by GetDeclContext().

◆ GetName() [2/2]

void DWARFDIE::GetName ( lldb_private::Stream s) const

◆ GetParent()

DWARFDIE DWARFDIE::GetParent ( ) const

◆ GetParentDeclContextDIE()

DWARFDIE DWARFDIE::GetParentDeclContextDIE ( ) const

◆ GetPubname()

const char * DWARFDIE::GetPubname ( ) const

◆ GetReferencedDIE()

DWARFDIE DWARFDIE::GetReferencedDIE ( const dw_attr_t  attr) const

◆ GetSibling()

DWARFDIE DWARFDIE::GetSibling ( ) const

◆ IsMethod()

bool DWARFDIE::IsMethod ( ) const

◆ IsStructUnionOrClass()

bool DWARFDIE::IsStructUnionOrClass ( ) const

Definition at line 426 of file DWARFDIE.cpp.

References DWARFBaseDIE::Tag().

◆ LookupDeepestBlock()

DWARFDIE DWARFDIE::LookupDeepestBlock ( lldb::addr_t  file_addr) const

◆ ResolveType()

lldb_private::Type * DWARFDIE::ResolveType ( ) const

◆ ResolveTypeUID()

lldb_private::Type * DWARFDIE::ResolveTypeUID ( const DWARFDIE die) const

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