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

#include <DWARFDIE.h>

Inheritance diagram for DWARFDIE:
Inheritance graph
Collaboration diagram for DWARFDIE:
Collaboration graph


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, int &decl_file, int &decl_line, int &decl_column, int &call_file, int &call_line, 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
size_t GetAttributes (DWARFAttributes &attributes, 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() [2/5]

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

Definition at line 39 of file DWARFBaseDIE.h.

◆ DWARFBaseDIE() [3/5]

DWARFBaseDIE::DWARFBaseDIE ( const DWARFUnit cu,
DWARFDebugInfoEntry die 

Definition at line 33 of file DWARFBaseDIE.h.

◆ DWARFBaseDIE() [4/5]

const DWARFDebugInfoEntry die 

Definition at line 36 of file DWARFBaseDIE.h.

◆ DWARFBaseDIE() [5/5]

DWARFDebugInfoEntry die 

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 376 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

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::ResolveNamespaceDIE(), and DWARFASTParserClang::UpdateSymbolContextScopeForType().

◆ GetDIENamesAndRanges()

bool DWARFDIE::GetDIENamesAndRanges ( const char *&  name,
const char *&  mangled,
DWARFRangeList ranges,
int &  decl_file,
int &  decl_line,
int &  decl_column,
int &  call_file,
int &  call_line,
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 427 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: