LLDB mainline
Public Types | Public Member Functions | Protected Attributes | List of all members
DWARFBaseDIE Class Reference

#include <DWARFBaseDIE.h>

Inheritance diagram for DWARFBaseDIE:
Inheritance graph
[legend]

Public Types

enum class  Recurse : bool { no , yes }
 

Public Member Functions

 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
 

Protected Attributes

DWARFUnitm_cu = nullptr
 
DWARFDebugInfoEntrym_die = nullptr
 

Detailed Description

Definition at line 26 of file DWARFBaseDIE.h.

Member Enumeration Documentation

◆ Recurse

enum class DWARFBaseDIE::Recurse : bool
strong
Enumerator
no 
yes 

Definition at line 117 of file DWARFBaseDIE.h.

Constructor & Destructor Documentation

◆ DWARFBaseDIE() [1/5]

DWARFBaseDIE::DWARFBaseDIE ( )
default

◆ DWARFBaseDIE() [2/5]

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

Definition at line 30 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 ( const DWARFUnit cu,
const DWARFDebugInfoEntry die 
)
inline

Definition at line 39 of file DWARFBaseDIE.h.

Member Function Documentation

◆ Clear()

void DWARFBaseDIE::Clear ( )
inline

◆ GetAttributes()

DWARFAttributes DWARFBaseDIE::GetAttributes ( Recurse  recurse = Recurse::yes) const

◆ GetAttributeValueAsAddress()

uint64_t DWARFBaseDIE::GetAttributeValueAsAddress ( const dw_attr_t  attr,
uint64_t  fail_value 
) const

◆ GetAttributeValueAsOptionalUnsigned()

std::optional< uint64_t > DWARFBaseDIE::GetAttributeValueAsOptionalUnsigned ( const dw_attr_t  attr) const

◆ GetAttributeValueAsString()

const char * DWARFBaseDIE::GetAttributeValueAsString ( const dw_attr_t  attr,
const char *  fail_value 
) const

◆ GetAttributeValueAsUnsigned()

uint64_t DWARFBaseDIE::GetAttributeValueAsUnsigned ( const dw_attr_t  attr,
uint64_t  fail_value 
) const

◆ GetCU()

DWARFUnit * DWARFBaseDIE::GetCU ( ) const
inline

Definition at line 55 of file DWARFBaseDIE.h.

References m_cu.

Referenced by SymbolFileDWARF::CompleteType(), SymbolFileDWARF::ConstructFunctionDemangledName(), DWARFASTParserClang::CopyUniqueClassMethodTypes(), SymbolFileDWARF::DIEInDeclContext(), SymbolFileDWARF::FindDefinitionTypeForDWARFDeclContext(), SymbolFileDWARF::FindGlobalVariables(), SymbolFileDWARF::FindNamespace(), fixupExternalAddrZeroVariable(), DWARFDebugInfoEntry::GetAttributes(), DWARFDebugInfoEntry::GetAttributeValue(), GetAttributeValueAsAddress(), GetAttributeValueAsOptionalUnsigned(), DWARFDIE::GetAttributeValueAsReferenceDIE(), GetAttributeValueAsString(), GetAttributeValueAsUnsigned(), SymbolFileDWARF::GetContainingDeclContext(), SymbolFileDWARF::GetDecl(), SymbolFileDWARF::GetDeclContext(), DWARFDIE::GetDIENamesAndRanges(), SymbolFileDWARF::GetDWARFDeclContext(), DWARFDebugInfoEntry::GetDWARFDeclContextStatic(), GetExprListFromAtConstValue(), GetExprListFromAtLocation(), SymbolFileDWARF::GetFunction(), DWARFDIE::GetName(), DWARFDIE::GetReferencedDIE(), SymbolFileDWARF::GetTypeForDIE(), GetUnitName(), operator==(), DWARFASTParserClang::ParseChildMembers(), SymbolFileDWARF::ParseFunction(), DWARFASTParserClang::ParseFunctionFromDWARF(), DWARFASTParserClang::ParseInheritance(), DWARFASTParserClang::ParseRustVariantPart(), DWARFASTParserClang::ParseSingleMember(), DWARFASTParserClang::ParseStructureLikeDIE(), SymbolFileDWARF::ParseType(), DWARFASTParserClang::ParseTypeFromClangModule(), DWARFASTParserClang::ParseTypeModifier(), SymbolFileDWARF::ParseVariableDIE(), and SymbolFileDWARF::ParseVariablesForContext().

◆ GetData()

const DWARFDataExtractor & DWARFBaseDIE::GetData ( ) const

◆ GetDIE()

DWARFDebugInfoEntry * DWARFBaseDIE::GetDIE ( ) const
inline

◆ GetDIERef()

std::optional< DIERef > DWARFBaseDIE::GetDIERef ( ) const

◆ GetDWARF()

SymbolFileDWARF * DWARFBaseDIE::GetDWARF ( ) const

◆ GetID()

lldb::user_id_t DWARFBaseDIE::GetID ( ) const

◆ GetModule()

lldb::ModuleSP DWARFBaseDIE::GetModule ( ) const

Definition at line 87 of file DWARFBaseDIE.cpp.

References GetDWARF().

Referenced by SymbolFileDWARF::ParseFunction().

◆ GetName()

const char * DWARFBaseDIE::GetName ( ) const

Definition at line 80 of file DWARFBaseDIE.cpp.

References DWARFDebugInfoEntry::GetName(), IsValid(), m_cu, and m_die.

Referenced by SymbolFileDWARF::ParseCompileUnit().

◆ GetOffset()

dw_offset_t DWARFBaseDIE::GetOffset ( ) const

◆ GetTagAsCString()

const char * DWARFBaseDIE::GetTagAsCString ( ) const

◆ HasChildren()

bool DWARFBaseDIE::HasChildren ( ) const

◆ IsValid()

bool DWARFBaseDIE::IsValid ( ) const
inline

◆ operator bool()

DWARFBaseDIE::operator bool ( ) const
inlineexplicit

Definition at line 44 of file DWARFBaseDIE.h.

References IsValid().

◆ Set()

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

Definition at line 61 of file DWARFBaseDIE.h.

References Clear(), m_cu, and m_die.

◆ Supports_DW_AT_APPLE_objc_complete_type()

bool DWARFBaseDIE::Supports_DW_AT_APPLE_objc_complete_type ( ) const

◆ Tag()

dw_tag_t DWARFBaseDIE::Tag ( ) const

Definition at line 30 of file DWARFBaseDIE.cpp.

References m_die, and DWARFDebugInfoEntry::Tag().

Referenced by DWARFDIE::AppendTypeName(), DWARFASTParserClang::CompleteRecordType(), DWARFASTParserClang::CompleteTypeFromDWARF(), DWARFASTParserClang::CopyUniqueClassMethodTypes(), SymbolFileDWARF::DIEDeclContextsMatch(), SymbolFileDWARF::DIEInDeclContext(), UniqueDWARFASTTypeList::Find(), SymbolFileDWARF::FindBlockContainingSpecification(), SymbolFileDWARF::FindCompleteObjCDefinitionTypeForDIE(), SymbolFileDWARF::FindDefinitionTypeForDWARFDeclContext(), SymbolFileDWARF::FindGlobalVariables(), DWARFASTParserClang::GetClangDeclContextForDIE(), DWARFASTParserClang::GetClangDeclForDIE(), GetContainingClangModuleDIE(), DWARFASTParserClang::GetCPlusPlusQualifiedName(), DWARFDIE::GetDeclContext(), SymbolFileDWARF::GetDeclContextDIEContainingDIE(), DWARFASTParserClang::GetDeclContextForBlock(), DWARFDebugInfoEntry::GetDWARFDeclContextStatic(), DWARFDebugInfoEntry::GetParentDeclContextDIE(), SymbolFileDWARF::GetParentSymbolContextDIE(), GetTagAsCString(), SymbolFileDWARF::GetTypes(), lldb_private::ManualDWARFIndex::IndexUnit(), DWARFDIE::IsStructUnionOrClass(), IsSubroutine(), DWARFDIE::LookupDeepestBlock(), SymbolFileDWARF::MergeBlockAbstractParameters(), SymbolFileDWARF::ParseAndAppendGlobalVariable(), SymbolFileDWARF::ParseBlocksRecursive(), DWARFASTParserClang::ParseChildMembers(), DWARFASTParserClang::ParseChildParameters(), DWARFASTParserClang::ParseEnum(), DWARFASTParserClang::ParseFunctionFromDWARF(), SymbolFileDWARF::ParseImportedModules(), DWARFASTParserClang::ParseObjCProperty(), DWARFASTParserClang::ParseRustVariantPart(), DWARFASTParserClang::ParseSingleMember(), DWARFASTParserClang::ParseStructureLikeDIE(), DWARFASTParserClang::ParseSubroutine(), DWARFASTParserClang::ParseTemplateDIE(), SymbolFileDWARF::ParseType(), DWARFASTParserClang::ParseTypeFromDWARF(), DWARFASTParserClang::ParseTypeModifier(), SymbolFileDWARF::ParseTypes(), SymbolFileDWARF::ParseVariableDIE(), SymbolFileDWARF::ParseVariablesInFunctionContextRecursive(), DWARFASTParserClang::ResolveBlockDIE(), SymbolFileDWARF::ResolveFunction(), DWARFASTParserClang::ResolveImportedDeclarationDIE(), DWARFASTParserClang::ResolveNamespaceDIE(), SymbolFileDWARF::ResolveTypeUID(), and DWARFASTParserClang::UpdateSymbolContextScopeForType().

Member Data Documentation

◆ m_cu

DWARFUnit* DWARFBaseDIE::m_cu = nullptr
protected

◆ m_die

DWARFDebugInfoEntry* DWARFBaseDIE::m_die = nullptr
protected

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