LLDB mainline
|
#include <DWARFBaseDIE.h>
Public Types | |
enum class | Recurse : bool { no , yes } |
Protected Attributes | |
DWARFUnit * | m_cu = nullptr |
DWARFDebugInfoEntry * | m_die = nullptr |
Definition at line 26 of file DWARFBaseDIE.h.
|
strong |
Enumerator | |
---|---|
no | |
yes |
Definition at line 117 of file DWARFBaseDIE.h.
|
default |
|
inline |
Definition at line 30 of file DWARFBaseDIE.h.
|
inline |
Definition at line 33 of file DWARFBaseDIE.h.
|
inline |
Definition at line 36 of file DWARFBaseDIE.h.
|
inline |
Definition at line 39 of file DWARFBaseDIE.h.
|
inline |
Definition at line 70 of file DWARFBaseDIE.h.
Referenced by DWARFASTParserClang::GetCPlusPlusQualifiedName(), SymbolFileDWARF::ParseBlocksRecursive(), SymbolFileDWARF::ParseTypes(), and Set().
DWARFAttributes DWARFBaseDIE::GetAttributes | ( | Recurse | recurse = Recurse::yes | ) | const |
Definition at line 117 of file DWARFBaseDIE.cpp.
References DWARFDebugInfoEntry::GetAttributes(), IsValid(), m_cu, and m_die.
Referenced by DWARFDebugInfoEntry::GetAttributes(), DWARFASTParserClang::GetTypeForDIE(), DWARFASTParserClang::ParseChildParameters(), ParsedDWARFTypeAttributes::ParsedDWARFTypeAttributes(), DWARFASTParserClang::ParseInheritance(), DWARFASTParserClang::ParseTemplateDIE(), and SymbolFileDWARF::ParseVariableDIE().
uint64_t DWARFBaseDIE::GetAttributeValueAsAddress | ( | const dw_attr_t | attr, |
uint64_t | fail_value | ||
) | const |
Definition at line 64 of file DWARFBaseDIE.cpp.
References DWARFDebugInfoEntry::GetAttributeValueAsAddress(), GetCU(), IsValid(), and m_die.
std::optional< uint64_t > DWARFBaseDIE::GetAttributeValueAsOptionalUnsigned | ( | const dw_attr_t | attr | ) | const |
Definition at line 58 of file DWARFBaseDIE.cpp.
References DWARFDebugInfoEntry::GetAttributeValueAsOptionalUnsigned(), GetCU(), IsValid(), and m_die.
const char * DWARFBaseDIE::GetAttributeValueAsString | ( | const dw_attr_t | attr, |
const char * | fail_value | ||
) | const |
Definition at line 41 of file DWARFBaseDIE.cpp.
References DWARFDebugInfoEntry::GetAttributeValueAsString(), GetCU(), IsValid(), and m_die.
Referenced by SymbolFileDWARF::GetCompileOptions(), DWARFASTParserClang::GetOwningClangModule(), SymbolFileDWARF::ParseImportedModules(), SymbolFileDWARF::ParseXcodeSDK(), and SymbolFileDWARF::UpdateExternalModuleListIfNeeded().
uint64_t DWARFBaseDIE::GetAttributeValueAsUnsigned | ( | const dw_attr_t | attr, |
uint64_t | fail_value | ||
) | const |
Definition at line 49 of file DWARFBaseDIE.cpp.
References DWARFDebugInfoEntry::GetAttributeValueAsUnsigned(), GetCU(), IsValid(), and m_die.
Referenced by DWARFDIE::AppendTypeName(), SymbolFileDWARF::CollectCallEdges(), DWARFASTParserClang::CompleteRecordType(), DWARFASTParserClang::CopyUniqueClassMethodTypes(), lldb_private::DWARFExpression::Evaluate(), SymbolFileDWARF::FindCompleteObjCDefinitionTypeForDIE(), lldb_private::DebugNamesDWARFIndex::GetCompleteObjCClass(), IsClangModuleFwdDecl(), SymbolFileDWARF::ParseDebugMacros(), DWARFASTParserClang::ParseSingleMember(), DWARFASTParserClang::ParseTypeModifier(), and DWARFASTParserClang::ResolveNamespaceDIE().
|
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().
const DWARFDataExtractor & DWARFBaseDIE::GetData | ( | ) | const |
Definition at line 131 of file DWARFBaseDIE.cpp.
References DWARFUnit::GetData(), IsValid(), and m_cu.
Referenced by GetExprListFromAtConstValue(), GetExprListFromAtLocation(), and DWARFASTParserClang::ParseInheritance().
|
inline |
Definition at line 57 of file DWARFBaseDIE.h.
References m_die.
Referenced by operator==(), SymbolFileDWARF::ParseCompileUnit(), and SymbolFileDWARF::UpdateExternalModuleListIfNeeded().
std::optional< DIERef > DWARFBaseDIE::GetDIERef | ( | ) | const |
Definition at line 22 of file DWARFBaseDIE.cpp.
References DWARFUnit::GetDebugSection(), SymbolFileDWARF::GetFileIndex(), DWARFDebugInfoEntry::GetOffset(), DWARFUnit::GetSymbolFileDWARF(), IsValid(), m_cu, and m_die.
Referenced by GetID(), lldb_private::ManualDWARFIndex::IndexUnitImpl(), SymbolFileDWARF::MergeBlockAbstractParameters(), DWARFASTParserClang::ParseStructureLikeDIE(), SymbolFileDWARF::ParseType(), and SymbolFileDWARF::ParseVariablesInFunctionContextRecursive().
SymbolFileDWARF * DWARFBaseDIE::GetDWARF | ( | ) | const |
Definition at line 102 of file DWARFBaseDIE.cpp.
References DWARFUnit::GetSymbolFileDWARF(), and m_cu.
Referenced by DWARFASTParserClang::CompleteRecordType(), DWARFASTParserClang::CompleteTypeFromDWARF(), DWARFASTParserClang::CopyUniqueClassMethodTypes(), DWARFASTParserClang::GetClangDeclContextContainingDIE(), DWARFASTParserClang::GetClangDeclContextForDIE(), DWARFASTParserClang::GetClangDeclForDIE(), GetContainingClangModule(), GetModule(), DWARFASTParserClang::GetTypeForDIE(), DWARFASTParserClang::ParseArrayType(), DWARFASTParserClang::ParseChildMembers(), DWARFASTParserClang::ParseEnum(), DWARFASTParserClang::ParseFunctionFromDWARF(), DWARFASTParserClang::ParseObjCProperty(), DWARFASTParserClang::ParsePointerToMemberType(), DWARFASTParserClang::ParseRustVariantPart(), DWARFASTParserClang::ParseSingleMember(), DWARFASTParserClang::ParseStructureLikeDIE(), DWARFASTParserClang::ParseSubroutine(), DWARFASTParserClang::ParseTypeFromClangModule(), DWARFASTParserClang::ParseTypeFromDWARF(), DWARFASTParserClang::ParseTypeModifier(), SymbolFileDWARF::ParseVariableDIE(), SymbolFileDWARF::ParseVariableDIECached(), PrepareContextToReceiveMembers(), lldb_private::DWARFIndex::ProcessFunctionDIE(), DWARFDIE::ResolveType(), DWARFDIE::ResolveTypeUID(), Supports_DW_AT_APPLE_objc_complete_type(), and DWARFASTParserClang::UpdateSymbolContextScopeForType().
lldb::user_id_t DWARFBaseDIE::GetID | ( | ) | const |
Definition at line 72 of file DWARFBaseDIE.cpp.
References GetDIERef(), and LLDB_INVALID_UID.
Referenced by SymbolFileDWARF::CompleteType(), SymbolFileDWARF::FindCompleteObjCDefinitionTypeForDIE(), DWARFASTParserClang::GetClangDeclForDIE(), SymbolFileDWARF::GetFunction(), SymbolFileDWARF::ParseAndAppendGlobalVariable(), DWARFASTParserClang::ParseArrayType(), SymbolFileDWARF::ParseBlocksRecursive(), DWARFASTParserClang::ParseChildParameters(), DWARFASTParserClang::ParseEnum(), DWARFASTParserClang::ParseFunctionFromDWARF(), SymbolFileDWARF::ParseFunctions(), DWARFASTParserClang::ParseObjCProperty(), DWARFASTParserClang::ParsePointerToMemberType(), DWARFASTParserClang::ParseSingleMember(), DWARFASTParserClang::ParseStructureLikeDIE(), DWARFASTParserClang::ParseSubroutine(), SymbolFileDWARF::ParseType(), DWARFASTParserClang::ParseTypeFromClangModule(), DWARFASTParserClang::ParseTypeModifier(), SymbolFileDWARF::ParseTypes(), SymbolFileDWARF::ParseVariableDIE(), SymbolFileDWARF::ParseVariablesInFunctionContextRecursive(), SymbolFileDWARF::ResolveFunction(), SymbolFileDWARF::ResolveFunctionAndBlock(), and DWARFASTParserClang::UpdateSymbolContextScopeForType().
lldb::ModuleSP DWARFBaseDIE::GetModule | ( | ) | const |
Definition at line 87 of file DWARFBaseDIE.cpp.
References GetDWARF().
Referenced by SymbolFileDWARF::ParseFunction().
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().
dw_offset_t DWARFBaseDIE::GetOffset | ( | ) | const |
Definition at line 95 of file DWARFBaseDIE.cpp.
Referenced by SymbolFileDWARF::FindBlockContainingSpecification(), SymbolFileDWARF::FindDefinitionTypeForDWARFDeclContext(), SymbolFileDWARF::GetTypes(), DWARFASTParserClang::ParseEnum(), DWARFASTParserClang::ParseInheritance(), DWARFASTParserClang::ParseStructureLikeDIE(), DWARFASTParserClang::ParseSubroutine(), DWARFASTParserClang::ParseTypeFromDWARF(), DWARFASTParserClang::ParseTypeModifier(), SymbolFileDWARF::ParseVariableDIE(), SymbolFileDWARF::ParseVariablesInFunctionContextRecursive(), PrepareContextToReceiveMembers(), SymbolFileDWARF::ResolveFunction(), SymbolFileDWARF::ResolveType(), SymbolFileDWARF::ResolveTypeUID(), and SymbolFileDWARF::UpdateExternalModuleListIfNeeded().
const char * DWARFBaseDIE::GetTagAsCString | ( | ) | const |
Definition at line 37 of file DWARFBaseDIE.cpp.
References lldb_private::DW_TAG_value_to_name(), and Tag().
Referenced by SymbolFileDWARF::CompleteType(), SymbolFileDWARF::ParseAndAppendGlobalVariable(), DWARFASTParserClang::ParseTypeFromDWARF(), DWARFASTParserClang::ParseTypeModifier(), SymbolFileDWARF::ParseVariableDIE(), SymbolFileDWARF::ResolveType(), and SymbolFileDWARF::ResolveTypeUID().
bool DWARFBaseDIE::HasChildren | ( | ) | const |
Definition at line 109 of file DWARFBaseDIE.cpp.
References DWARFDebugInfoEntry::HasChildren(), and m_die.
Referenced by DWARFASTParserClang::CompleteEnumType(), DWARFASTParserClang::CompleteRecordType(), SymbolFileDWARF::MergeBlockAbstractParameters(), SymbolFileDWARF::ParseBlocksRecursive(), DWARFASTParserClang::ParseEnum(), DWARFASTParserClang::ParseStructureLikeDIE(), DWARFASTParserClang::ParseSubroutine(), SymbolFileDWARF::ParseTypes(), and SymbolFileDWARF::UpdateExternalModuleListIfNeeded().
|
inline |
Definition at line 46 of file DWARFBaseDIE.h.
Referenced by DWARFDIE::AppendTypeName(), SymbolFileDWARF::ConstructFunctionDemangledName(), DWARFASTParserClang::CopyUniqueClassMethodTypes(), DWARFUnit::ExtractUnitDIEIfNeeded(), GetAttributes(), GetAttributeValueAsAddress(), GetAttributeValueAsOptionalUnsigned(), DWARFDIE::GetAttributeValueAsReferenceDIE(), GetAttributeValueAsString(), GetAttributeValueAsUnsigned(), GetContainingClangModule(), GetContainingClangModuleDIE(), DWARFASTParserClang::GetCPlusPlusQualifiedName(), GetData(), DWARFDIE::GetDeclContextDIEs(), DWARFDIE::GetDIE(), DWARFDIE::GetDIENamesAndRanges(), GetDIERef(), SymbolFileDWARF::GetDWARFDeclContext(), DWARFDIE::GetFirstChild(), DWARFDIE::GetMangledName(), GetName(), DWARFDIE::GetName(), DWARFASTParserClang::GetOwningClangModule(), DWARFDIE::GetParent(), DWARFDIE::GetParentDeclContextDIE(), DWARFDIE::GetPubname(), DWARFDIE::GetReferencedDIE(), DWARFDIE::GetSibling(), DWARFDIE::LookupDeepestBlock(), operator bool(), DWARFDIE::child_iterator::operator*(), DWARFDIE::child_iterator::operator++(), DWARFDIE::child_iterator::operator==(), SymbolFileDWARF::ParseCallEdgesInFunction(), SymbolFileDWARF::ParseFunction(), DWARFDIE::ResolveType(), and Supports_DW_AT_APPLE_objc_complete_type().
|
inlineexplicit |
Definition at line 44 of file DWARFBaseDIE.h.
References IsValid().
|
inline |
Definition at line 61 of file DWARFBaseDIE.h.
bool DWARFBaseDIE::Supports_DW_AT_APPLE_objc_complete_type | ( | ) | const |
Definition at line 113 of file DWARFBaseDIE.cpp.
References GetDWARF(), IsValid(), m_cu, and SymbolFileDWARF::Supports_DW_AT_APPLE_objc_complete_type().
Referenced by SymbolFileDWARF::FindCompleteObjCDefinitionTypeForDIE(), and DWARFASTParserClang::ParseStructureLikeDIE().
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().
|
protected |
Definition at line 121 of file DWARFBaseDIE.h.
Referenced by Clear(), GetAttributes(), GetCU(), GetData(), DWARFDIE::GetDIE(), GetDIERef(), GetDWARF(), DWARFDIE::GetFirstChild(), DWARFDIE::GetMangledName(), GetName(), DWARFDIE::GetParent(), DWARFDIE::GetParentDeclContextDIE(), DWARFDIE::GetPubname(), DWARFDIE::GetSibling(), IsValid(), DWARFDIE::LookupDeepestBlock(), Set(), and Supports_DW_AT_APPLE_objc_complete_type().
|
protected |
Definition at line 122 of file DWARFBaseDIE.h.
Referenced by Clear(), UniqueDWARFASTTypeList::Find(), GetAttributes(), GetAttributeValueAsAddress(), GetAttributeValueAsOptionalUnsigned(), DWARFDIE::GetAttributeValueAsReferenceDIE(), GetAttributeValueAsString(), GetAttributeValueAsUnsigned(), GetDIE(), DWARFDIE::GetDIENamesAndRanges(), GetDIERef(), DWARFDIE::GetFirstChild(), DWARFDIE::GetMangledName(), GetName(), DWARFDIE::GetParent(), DWARFDIE::GetParentDeclContextDIE(), DWARFDIE::GetPubname(), DWARFDIE::GetReferencedDIE(), DWARFDIE::GetSibling(), HasChildren(), IsValid(), DWARFDIE::LookupDeepestBlock(), Set(), and Tag().