LLDB
mainline
|
#include <DWARFDIE.h>
Classes | |
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::Type * | ResolveType () const |
lldb_private::Type * | ResolveTypeUID (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< DWARFDIE > | GetDeclContextDIEs () 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::DWARFExpression *frame_base) const |
llvm::iterator_range< child_iterator > | children () 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 |
DWARFDebugInfoEntry * | GetDIE () const |
![]() | |
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 |
SymbolFileDWARF * | GetDWARF () const |
DWARFUnit * | GetCU () const |
DWARFDebugInfoEntry * | GetDIE () const |
llvm::Optional< DIERef > | GetDIERef () const |
void | Set (DWARFUnit *cu, DWARFDebugInfoEntry *die) |
void | Clear () |
const lldb_private::DWARFDataExtractor & | GetData () 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 |
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 | |
![]() | |
enum | Recurse : bool { Recurse::no, Recurse::yes } |
![]() | |
DWARFUnit * | m_cu = nullptr |
DWARFDebugInfoEntry * | m_die = nullptr |
Definition at line 16 of file DWARFDIE.h.
void DWARFDIE::AppendTypeName | ( | lldb_private::Stream & | s | ) | const |
Definition at line 248 of file DWARFDIE.cpp.
References lldb_private::Stream::PutChar(), and lldb_private::Stream::PutCString().
llvm::iterator_range< DWARFDIE::child_iterator > DWARFDIE::children | ( | ) | const |
The range of all the children of this DIE.
Definition at line 453 of file DWARFDIE.cpp.
Referenced by SymbolFileDWARF::ClassOrStructIsVirtual(), SymbolFileDWARF::CollectCallEdges(), CollectCallSiteParameters(), DWARFASTParserClang::EnsureAllDIEsInDeclContextHaveBeenParsed(), FindAnyChildWithAbstractOrigin(), SymbolFileDWARF::FindBlockContainingSpecification(), SymbolFileDWARF::GetTypes(), DWARFASTParser::ParseChildArrayInfo(), DWARFASTParserClang::ParseChildEnumerators(), DWARFASTParserClang::ParseChildMembers(), DWARFASTParserClang::ParseChildParameters(), SymbolFileDWARF::ParseImportedModules(), DWARFASTParserClang::ParseTemplateDIE(), DWARFASTParserClang::ParseTemplateParameterInfos(), and DWARFASTParserClang::ParseTypeModifier().
|
default |
|
inline |
Definition at line 38 of file DWARFBaseDIE.h.
|
inline |
Definition at line 32 of file DWARFBaseDIE.h.
|
inline |
Definition at line 35 of file DWARFBaseDIE.h.
|
inline |
Definition at line 29 of file DWARFBaseDIE.h.
Definition at line 131 of file DWARFDIE.cpp.
References DWARFFormValue::Reference().
Referenced by DWARFASTParserClang::GetClangDeclForDIE().
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 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().
std::vector< DWARFDIE > DWARFDIE::GetDeclContextDIEs | ( | ) | const |
Definition at line 362 of file DWARFDIE.cpp.
References GetDIE(), GetParentDeclContextDIE(), and DWARFBaseDIE::IsValid().
Referenced by SymbolFileDWARF::DIEDeclContextsMatch().
|
inline |
Definition at line 56 of file DWARFBaseDIE.h.
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(), 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().
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::DWARFExpression * | frame_base | ||
) | const |
Definition at line 440 of file DWARFDIE.cpp.
Referenced by SymbolFileDWARF::ParseBlocksRecursive(), and DWARFASTParserClang::ParseFunctionFromDWARF().
DWARFDIE DWARFDIE::GetFirstChild | ( | ) | const |
const char * DWARFDIE::GetMangledName | ( | ) | const |
Definition at line 204 of file DWARFDIE.cpp.
Referenced by DWARFASTParserClang::CopyUniqueClassMethodTypes(), SymbolFileDWARF::GetMangledNamesForFunction(), and lldb_private::DWARFIndex::ProcessFunctionDIE().
const char * DWARFBaseDIE::GetName |
Definition at line 70 of file DWARFBaseDIE.cpp.
void DWARFDIE::GetName | ( | lldb_private::Stream & | s | ) | const |
Definition at line 230 of file DWARFDIE.cpp.
References lldb_private::Stream::PutCString().
Referenced by SymbolFileDWARF::DIEDeclContextsMatch(), UniqueDWARFASTTypeList::Find(), DWARFASTParserClang::GetClangDeclForDIE(), GetContainingClangModule(), DWARFDebugInfoEntry::GetQualifiedName(), DWARFASTParserClang::ParseSubroutine(), DWARFASTParserClang::ParseTemplateDIE(), DWARFASTParserClang::ParseTypeFromDWARF(), DWARFASTParserClang::ParseTypeModifier(), lldb_private::DWARFIndex::ProcessFunctionDIE(), DWARFASTParserClang::ResolveNamespaceDIE(), SymbolFileDWARF::ResolveType(), and SymbolFileDWARF::ResolveTypeUID().
DWARFDIE DWARFDIE::GetParent | ( | ) | const |
Definition at line 91 of file DWARFDIE.cpp.
Referenced by UniqueDWARFASTTypeList::Find(), FindFirstChildWithAbstractOrigin(), GetContainingClangModuleDIE(), GetContainingFunctionWithAbstractOrigin(), SymbolFileDWARF::GetDeclContextDIEContainingDIE(), DWARFASTParserClang::GetOwningClangModule(), DWARFDebugInfoEntry::GetParentDeclContextDIE(), SymbolFileDWARF::GetParentSymbolContextDIE(), SymbolFileDWARF::GetTypeForDIE(), IsClangModuleFwdDecl(), DWARFASTParserClang::ParseFunctionFromDWARF(), SymbolFileDWARF::ParseImportedModules(), and SymbolFileDWARF::ResolveFunction().
DWARFDIE DWARFDIE::GetParentDeclContextDIE | ( | ) | const |
Definition at line 420 of file DWARFDIE.cpp.
References GetParentDeclContextDIE().
Referenced by GetDeclContextDIEs(), GetParentDeclContextDIE(), DWARFDebugInfoEntry::GetParentDeclContextDIE(), and DWARFDebugInfoEntry::GetQualifiedName().
const char * DWARFDIE::GetPubname | ( | ) | const |
Definition at line 211 of file DWARFDIE.cpp.
Referenced by SymbolFileDWARF::CollectCallEdges().
const char * DWARFDIE::GetQualifiedName | ( | std::string & | storage | ) | const |
Definition at line 218 of file DWARFDIE.cpp.
Referenced by SymbolFileDWARF::FindDefinitionTypeForDWARFDeclContext(), and DWARFASTParserClang::ParseStructureLikeDIE().
Definition at line 115 of file DWARFDIE.cpp.
Referenced by SymbolFileDWARF::FindBlockContainingSpecification(), DWARFASTParserClang::GetClangDeclForDIE(), SymbolFileDWARF::GetDeclContextDIEContainingDIE(), SymbolFileDWARF::MergeBlockAbstractParameters(), DWARFASTParser::ParseChildArrayInfo(), SymbolFileDWARF::ParseImportedModules(), DWARFASTParserClang::ParseTypeModifier(), and SymbolFileDWARF::ParseVariableDIECached().
DWARFDIE DWARFDIE::GetSibling | ( | ) | const |
Definition at line 107 of file DWARFDIE.cpp.
Referenced by SymbolFileDWARF::MergeBlockAbstractParameters(), DWARFDIE::child_iterator::operator++(), SymbolFileDWARF::ParseBlocksRecursive(), SymbolFileDWARF::ParseTypes(), and SymbolFileDWARF::ParseVariablesInFunctionContextRecursive().
bool DWARFDIE::IsMethod | ( | ) | const |
Definition at line 433 of file DWARFDIE.cpp.
Referenced by lldb_private::ManualDWARFIndex::IndexUnitImpl(), and lldb_private::DWARFIndex::ProcessFunctionDIE().
bool DWARFDIE::IsStructUnionOrClass | ( | ) | const |
Definition at line 427 of file DWARFDIE.cpp.
DWARFDIE DWARFDIE::LookupDeepestBlock | ( | lldb::addr_t | file_addr | ) | const |
Definition at line 144 of file DWARFDIE.cpp.
References lldb_private::RangeVector< B, S, N >::FindEntryThatContains(), and LookupDeepestBlock().
Referenced by LookupDeepestBlock(), and SymbolFileDWARF::ResolveFunctionAndBlock().
lldb_private::Type * DWARFDIE::ResolveType | ( | ) | const |
Definition at line 349 of file DWARFDIE.cpp.
Referenced by DWARFASTParserClang::CompleteRecordType().
lldb_private::Type * DWARFDIE::ResolveTypeUID | ( | const DWARFDIE & | die | ) | const |
Definition at line 356 of file DWARFDIE.cpp.
Referenced by DWARFASTParserClang::ParseChildParameters(), DWARFASTParserClang::ParseInheritance(), DWARFASTParserClang::ParseObjCProperty(), DWARFASTParserClang::ParseSingleMember(), and DWARFASTParserClang::ParseTemplateDIE().