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
const char * GetQualifiedName (std::string &storage) 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. More...
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. More...
 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
llvm::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
llvm::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  Recurse : bool { Recurse::no, Recurse::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]


Definition at line 38 of file DWARFBaseDIE.h.

◆ DWARFBaseDIE() [3/5]


Definition at line 32 of file DWARFBaseDIE.h.

◆ DWARFBaseDIE() [4/5]


Definition at line 35 of file DWARFBaseDIE.h.

◆ DWARFBaseDIE() [5/5]


Definition at line 29 of file DWARFBaseDIE.h.

◆ GetAttributeValueAsReferenceDIE()

DWARFDIE DWARFDIE::GetAttributeValueAsReferenceDIE ( const dw_attr_t  attr) const

Definition at line 131 of file DWARFDIE.cpp.

References DWARFFormValue::Reference().

Referenced by DWARFASTParserClang::GetClangDeclForDIE().

◆ 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 388 of file DWARFDIE.cpp.

References lldb_private::Class, lldb_private::Enum, lldb_private::Function, GetDeclContext(), GetName(), lldb_private::Module, lldb_private::Namespace, lldb_private::Struct, lldb_private::Typedef, lldb_private::Union, and lldb_private::Variable.

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

◆ GetDeclContextDIEs()

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

◆ GetDIE() [1/2]


Definition at line 56 of file DWARFBaseDIE.h.

◆ GetDIE() [2/2]

DWARFDIE DWARFDIE::GetDIE ( dw_offset_t  die_offset) const

Definition at line 123 of file DWARFDIE.cpp.

Referenced by SymbolFileDWARF::CompleteType(), DWARFASTParserClang::CopyUniqueClassMethodTypes(), SymbolFileDWARF::FindCompleteObjCDefinitionTypeForDIE(), SymbolFileDWARF::FindFunctions(), DWARFDebugInfoEntry::GetAttributes(), DWARFDebugInfoEntry::GetAttributeValue(), DWARFASTParserClang::GetCachedClangDeclContextForDIE(), DWARFASTParserClang::GetClangDeclForDIE(), lldb_private::DebugNamesDWARFIndex::GetCompleteObjCClass(), 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

Definition at line 77 of file DWARFBaseDIE.cpp.

◆ 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

Definition at line 211 of file DWARFDIE.cpp.

Referenced by SymbolFileDWARF::CollectCallEdges().

◆ GetQualifiedName()

const char * DWARFDIE::GetQualifiedName ( std::string storage) 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 439 of file DWARFDIE.cpp.

◆ LookupDeepestBlock()

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

◆ ResolveType()

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

Definition at line 361 of file DWARFDIE.cpp.

Referenced by DWARFASTParserClang::CompleteRecordType().

◆ ResolveTypeUID()

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

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