summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
diff options
context:
space:
mode:
authorKate Stone <katherine.stone@apple.com>2016-09-06 20:57:50 +0000
committerKate Stone <katherine.stone@apple.com>2016-09-06 20:57:50 +0000
commitb9c1b51e45b845debb76d8658edabca70ca56079 (patch)
treedfcb5a13ef2b014202340f47036da383eaee74aa /lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
parentd5aa73376966339caad04013510626ec2e42c760 (diff)
downloadbcm5719-llvm-b9c1b51e45b845debb76d8658edabca70ca56079.tar.gz
bcm5719-llvm-b9c1b51e45b845debb76d8658edabca70ca56079.zip
*** This commit represents a complete reformatting of the LLDB source code
*** to conform to clang-format’s LLVM style. This kind of mass change has *** two obvious implications: Firstly, merging this particular commit into a downstream fork may be a huge effort. Alternatively, it may be worth merging all changes up to this commit, performing the same reformatting operation locally, and then discarding the merge for this particular commit. The commands used to accomplish this reformatting were as follows (with current working directory as the root of the repository): find . \( -iname "*.c" -or -iname "*.cpp" -or -iname "*.h" -or -iname "*.mm" \) -exec clang-format -i {} + find . -iname "*.py" -exec autopep8 --in-place --aggressive --aggressive {} + ; The version of clang-format used was 3.9.0, and autopep8 was 1.2.4. Secondly, “blame” style tools will generally point to this commit instead of a meaningful prior commit. There are alternatives available that will attempt to look through this change and find the appropriate prior commit. YMMV. llvm-svn: 280751
Diffstat (limited to 'lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp')
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp784
1 files changed, 341 insertions, 443 deletions
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
index 0f02c74fd2e..5222419d323 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
@@ -11,13 +11,13 @@
#include "DWARFASTParser.h"
#include "DWARFCompileUnit.h"
+#include "DWARFDIECollection.h"
#include "DWARFDebugAbbrev.h"
#include "DWARFDebugAranges.h"
#include "DWARFDebugInfo.h"
#include "DWARFDebugInfoEntry.h"
#include "DWARFDebugRanges.h"
#include "DWARFDeclContext.h"
-#include "DWARFDIECollection.h"
#include "DWARFFormValue.h"
#include "SymbolFileDWARF.h"
@@ -28,543 +28,441 @@
using namespace lldb_private;
-DIERef
-DWARFDIE::GetDIERef() const
-{
- if (!IsValid())
- return DIERef();
+DIERef DWARFDIE::GetDIERef() const {
+ if (!IsValid())
+ return DIERef();
- dw_offset_t cu_offset = m_cu->GetOffset();
- if (m_cu->GetBaseObjOffset() != DW_INVALID_OFFSET)
- cu_offset = m_cu->GetBaseObjOffset();
- return DIERef(cu_offset, m_die->GetOffset());
+ dw_offset_t cu_offset = m_cu->GetOffset();
+ if (m_cu->GetBaseObjOffset() != DW_INVALID_OFFSET)
+ cu_offset = m_cu->GetBaseObjOffset();
+ return DIERef(cu_offset, m_die->GetOffset());
}
-dw_tag_t
-DWARFDIE::Tag() const
-{
- if (m_die)
- return m_die->Tag();
- else
- return 0;
+dw_tag_t DWARFDIE::Tag() const {
+ if (m_die)
+ return m_die->Tag();
+ else
+ return 0;
}
-const char *
-DWARFDIE::GetTagAsCString () const
-{
- return lldb_private::DW_TAG_value_to_name (Tag());
+const char *DWARFDIE::GetTagAsCString() const {
+ return lldb_private::DW_TAG_value_to_name(Tag());
}
DWARFDIE
-DWARFDIE::GetParent () const
-{
- if (IsValid())
- return DWARFDIE(m_cu, m_die->GetParent());
- else
- return DWARFDIE();
+DWARFDIE::GetParent() const {
+ if (IsValid())
+ return DWARFDIE(m_cu, m_die->GetParent());
+ else
+ return DWARFDIE();
}
DWARFDIE
-DWARFDIE::GetFirstChild () const
-{
- if (IsValid())
- return DWARFDIE(m_cu, m_die->GetFirstChild());
- else
- return DWARFDIE();
+DWARFDIE::GetFirstChild() const {
+ if (IsValid())
+ return DWARFDIE(m_cu, m_die->GetFirstChild());
+ else
+ return DWARFDIE();
}
DWARFDIE
-DWARFDIE::GetSibling () const
-{
- if (IsValid())
- return DWARFDIE(m_cu, m_die->GetSibling());
- else
- return DWARFDIE();
+DWARFDIE::GetSibling() const {
+ if (IsValid())
+ return DWARFDIE(m_cu, m_die->GetSibling());
+ else
+ return DWARFDIE();
}
DWARFDIE
-DWARFDIE::GetReferencedDIE (const dw_attr_t attr) const
-{
- const dw_offset_t die_offset = GetAttributeValueAsReference (attr, DW_INVALID_OFFSET);
- if (die_offset != DW_INVALID_OFFSET)
- return GetDIE(die_offset);
- else
- return DWARFDIE();
+DWARFDIE::GetReferencedDIE(const dw_attr_t attr) const {
+ const dw_offset_t die_offset =
+ GetAttributeValueAsReference(attr, DW_INVALID_OFFSET);
+ if (die_offset != DW_INVALID_OFFSET)
+ return GetDIE(die_offset);
+ else
+ return DWARFDIE();
}
DWARFDIE
-DWARFDIE::GetDIE (dw_offset_t die_offset) const
-{
- if (IsValid())
- return m_cu->GetDIE(die_offset);
- else
- return DWARFDIE();
+DWARFDIE::GetDIE(dw_offset_t die_offset) const {
+ if (IsValid())
+ return m_cu->GetDIE(die_offset);
+ else
+ return DWARFDIE();
}
-const char *
-DWARFDIE::GetAttributeValueAsString (const dw_attr_t attr, const char *fail_value) const
-{
- if (IsValid())
- return m_die->GetAttributeValueAsString(GetDWARF(), GetCU(), attr, fail_value);
- else
- return fail_value;
+const char *DWARFDIE::GetAttributeValueAsString(const dw_attr_t attr,
+ const char *fail_value) const {
+ if (IsValid())
+ return m_die->GetAttributeValueAsString(GetDWARF(), GetCU(), attr,
+ fail_value);
+ else
+ return fail_value;
}
-uint64_t
-DWARFDIE::GetAttributeValueAsUnsigned (const dw_attr_t attr, uint64_t fail_value) const
-{
- if (IsValid())
- return m_die->GetAttributeValueAsUnsigned(GetDWARF(), GetCU(), attr, fail_value);
- else
- return fail_value;
+uint64_t DWARFDIE::GetAttributeValueAsUnsigned(const dw_attr_t attr,
+ uint64_t fail_value) const {
+ if (IsValid())
+ return m_die->GetAttributeValueAsUnsigned(GetDWARF(), GetCU(), attr,
+ fail_value);
+ else
+ return fail_value;
}
-int64_t
-DWARFDIE::GetAttributeValueAsSigned (const dw_attr_t attr, int64_t fail_value) const
-{
- if (IsValid())
- return m_die->GetAttributeValueAsSigned(GetDWARF(), GetCU(), attr, fail_value);
- else
- return fail_value;
+int64_t DWARFDIE::GetAttributeValueAsSigned(const dw_attr_t attr,
+ int64_t fail_value) const {
+ if (IsValid())
+ return m_die->GetAttributeValueAsSigned(GetDWARF(), GetCU(), attr,
+ fail_value);
+ else
+ return fail_value;
}
DWARFDIE
-DWARFDIE::GetAttributeValueAsReferenceDIE (const dw_attr_t attr) const
-{
- if (IsValid())
- {
- DWARFCompileUnit *cu = GetCU();
- SymbolFileDWARF *dwarf = cu->GetSymbolFileDWARF();
- const bool check_specification_or_abstract_origin = true;
- DWARFFormValue form_value;
- if (m_die->GetAttributeValue(dwarf, cu, attr, form_value, nullptr, check_specification_or_abstract_origin))
- return dwarf->GetDIE(DIERef(form_value));
- }
- return DWARFDIE();
+DWARFDIE::GetAttributeValueAsReferenceDIE(const dw_attr_t attr) const {
+ if (IsValid()) {
+ DWARFCompileUnit *cu = GetCU();
+ SymbolFileDWARF *dwarf = cu->GetSymbolFileDWARF();
+ const bool check_specification_or_abstract_origin = true;
+ DWARFFormValue form_value;
+ if (m_die->GetAttributeValue(dwarf, cu, attr, form_value, nullptr,
+ check_specification_or_abstract_origin))
+ return dwarf->GetDIE(DIERef(form_value));
+ }
+ return DWARFDIE();
+}
+
+uint64_t DWARFDIE::GetAttributeValueAsReference(const dw_attr_t attr,
+ uint64_t fail_value) const {
+ if (IsValid())
+ return m_die->GetAttributeValueAsReference(GetDWARF(), GetCU(), attr,
+ fail_value);
+ else
+ return fail_value;
+}
+
+uint64_t DWARFDIE::GetAttributeValueAsAddress(const dw_attr_t attr,
+ uint64_t fail_value) const {
+ if (IsValid())
+ return m_die->GetAttributeValueAsAddress(GetDWARF(), GetCU(), attr,
+ fail_value);
+ else
+ return fail_value;
}
-uint64_t
-DWARFDIE::GetAttributeValueAsReference (const dw_attr_t attr, uint64_t fail_value) const
-{
- if (IsValid())
- return m_die->GetAttributeValueAsReference(GetDWARF(), GetCU(), attr, fail_value);
- else
- return fail_value;
-}
-
-uint64_t
-DWARFDIE::GetAttributeValueAsAddress (const dw_attr_t attr, uint64_t fail_value) const
-{
- if (IsValid())
- return m_die->GetAttributeValueAsAddress(GetDWARF(), GetCU(), attr, fail_value);
- else
- return fail_value;
-}
-
-
DWARFDIE
-DWARFDIE::LookupDeepestBlock (lldb::addr_t file_addr) const
-{
- if (IsValid())
- {
- SymbolFileDWARF *dwarf= GetDWARF();
- DWARFCompileUnit *cu = GetCU();
- DWARFDebugInfoEntry* function_die = nullptr;
- DWARFDebugInfoEntry* block_die = nullptr;
- if (m_die->LookupAddress (file_addr,
- dwarf,
- cu,
- &function_die,
- &block_die))
- {
- if (block_die && block_die != function_die)
- {
- if (cu->ContainsDIEOffset(block_die->GetOffset()))
- return DWARFDIE(cu, block_die);
- else
- return DWARFDIE(dwarf->DebugInfo()->GetCompileUnit(DIERef(cu->GetOffset(), block_die->GetOffset())), block_die);
- }
- }
+DWARFDIE::LookupDeepestBlock(lldb::addr_t file_addr) const {
+ if (IsValid()) {
+ SymbolFileDWARF *dwarf = GetDWARF();
+ DWARFCompileUnit *cu = GetCU();
+ DWARFDebugInfoEntry *function_die = nullptr;
+ DWARFDebugInfoEntry *block_die = nullptr;
+ if (m_die->LookupAddress(file_addr, dwarf, cu, &function_die, &block_die)) {
+ if (block_die && block_die != function_die) {
+ if (cu->ContainsDIEOffset(block_die->GetOffset()))
+ return DWARFDIE(cu, block_die);
+ else
+ return DWARFDIE(dwarf->DebugInfo()->GetCompileUnit(
+ DIERef(cu->GetOffset(), block_die->GetOffset())),
+ block_die);
+ }
}
- return DWARFDIE();
-}
-
-lldb::user_id_t
-DWARFDIE::GetID () const
-{
- return GetDIERef().GetUID(GetDWARF());
+ }
+ return DWARFDIE();
}
-const char *
-DWARFDIE::GetName () const
-{
- if (IsValid())
- return m_die->GetName (GetDWARF(), m_cu);
- else
- return nullptr;
+lldb::user_id_t DWARFDIE::GetID() const {
+ return GetDIERef().GetUID(GetDWARF());
}
-const char *
-DWARFDIE::GetMangledName () const
-{
- if (IsValid())
- return m_die->GetMangledName (GetDWARF(), m_cu);
- else
- return nullptr;
+const char *DWARFDIE::GetName() const {
+ if (IsValid())
+ return m_die->GetName(GetDWARF(), m_cu);
+ else
+ return nullptr;
}
-const char *
-DWARFDIE::GetPubname () const
-{
- if (IsValid())
- return m_die->GetPubname (GetDWARF(), m_cu);
- else
- return nullptr;
+const char *DWARFDIE::GetMangledName() const {
+ if (IsValid())
+ return m_die->GetMangledName(GetDWARF(), m_cu);
+ else
+ return nullptr;
}
-const char *
-DWARFDIE::GetQualifiedName (std::string &storage) const
-{
- if (IsValid())
- return m_die->GetQualifiedName (GetDWARF(), m_cu, storage);
- else
- return nullptr;
+const char *DWARFDIE::GetPubname() const {
+ if (IsValid())
+ return m_die->GetPubname(GetDWARF(), m_cu);
+ else
+ return nullptr;
}
-lldb::LanguageType
-DWARFDIE::GetLanguage () const
-{
- if (IsValid())
- return m_cu->GetLanguageType();
- else
- return lldb::eLanguageTypeUnknown;
+const char *DWARFDIE::GetQualifiedName(std::string &storage) const {
+ if (IsValid())
+ return m_die->GetQualifiedName(GetDWARF(), m_cu, storage);
+ else
+ return nullptr;
}
-
-lldb::ModuleSP
-DWARFDIE::GetModule () const
-{
- SymbolFileDWARF *dwarf = GetDWARF();
- if (dwarf)
- return dwarf->GetObjectFile()->GetModule();
- else
- return lldb::ModuleSP();
+lldb::LanguageType DWARFDIE::GetLanguage() const {
+ if (IsValid())
+ return m_cu->GetLanguageType();
+ else
+ return lldb::eLanguageTypeUnknown;
}
-lldb_private::CompileUnit *
-DWARFDIE::GetLLDBCompileUnit () const
-{
- if (IsValid())
- return GetDWARF()->GetCompUnitForDWARFCompUnit(GetCU());
- else
- return nullptr;
+lldb::ModuleSP DWARFDIE::GetModule() const {
+ SymbolFileDWARF *dwarf = GetDWARF();
+ if (dwarf)
+ return dwarf->GetObjectFile()->GetModule();
+ else
+ return lldb::ModuleSP();
}
-lldb_private::Type *
-DWARFDIE::ResolveType () const
-{
- if (IsValid())
- return GetDWARF()->ResolveType(*this, true);
- else
- return nullptr;
+lldb_private::CompileUnit *DWARFDIE::GetLLDBCompileUnit() const {
+ if (IsValid())
+ return GetDWARF()->GetCompUnitForDWARFCompUnit(GetCU());
+ else
+ return nullptr;
}
-lldb_private::Type *
-DWARFDIE::ResolveTypeUID (const DIERef &die_ref) const
-{
- SymbolFileDWARF *dwarf = GetDWARF();
- if (dwarf)
- return dwarf->ResolveTypeUID(dwarf->GetDIE(die_ref), true);
- else
- return nullptr;
-}
-
-void
-DWARFDIE::GetDeclContextDIEs (DWARFDIECollection &decl_context_dies) const
-{
- if (IsValid())
- {
- DWARFDIE parent_decl_ctx_die = m_die->GetParentDeclContextDIE (GetDWARF(), GetCU());
- if (parent_decl_ctx_die && parent_decl_ctx_die.GetDIE() != GetDIE())
- {
- decl_context_dies.Append(parent_decl_ctx_die);
- parent_decl_ctx_die.GetDeclContextDIEs (decl_context_dies);
- }
- }
+lldb_private::Type *DWARFDIE::ResolveType() const {
+ if (IsValid())
+ return GetDWARF()->ResolveType(*this, true);
+ else
+ return nullptr;
}
-void
-DWARFDIE::GetDWARFDeclContext (DWARFDeclContext &dwarf_decl_ctx) const
-{
- if (IsValid())
- {
- dwarf_decl_ctx.SetLanguage(GetLanguage());
- m_die->GetDWARFDeclContext (GetDWARF(), GetCU(), dwarf_decl_ctx);
- }
- else
- {
- dwarf_decl_ctx.Clear();
- }
+lldb_private::Type *DWARFDIE::ResolveTypeUID(const DIERef &die_ref) const {
+ SymbolFileDWARF *dwarf = GetDWARF();
+ if (dwarf)
+ return dwarf->ResolveTypeUID(dwarf->GetDIE(die_ref), true);
+ else
+ return nullptr;
}
-void
-DWARFDIE::GetDWOContext (std::vector<CompilerContext> &context) const
-{
- const dw_tag_t tag = Tag();
- if (tag == DW_TAG_compile_unit)
- return;
- DWARFDIE parent = GetParent();
- if (parent)
- parent.GetDWOContext(context);
- switch (tag)
- {
- case DW_TAG_module:
- context.push_back(CompilerContext(CompilerContextKind::Module, ConstString(GetName())));
- break;
- case DW_TAG_namespace:
- context.push_back(CompilerContext(CompilerContextKind::Namespace, ConstString(GetName())));
- break;
- case DW_TAG_structure_type:
- context.push_back(CompilerContext(CompilerContextKind::Structure, ConstString(GetName())));
- break;
- case DW_TAG_union_type:
- context.push_back(CompilerContext(CompilerContextKind::Union, ConstString(GetName())));
- break;
- case DW_TAG_class_type:
- context.push_back(CompilerContext(CompilerContextKind::Class, ConstString(GetName())));
- break;
- case DW_TAG_enumeration_type:
- context.push_back(CompilerContext(CompilerContextKind::Enumeration, ConstString(GetName())));
- break;
- case DW_TAG_subprogram:
- context.push_back(CompilerContext(CompilerContextKind::Function, ConstString(GetPubname())));
- break;
- case DW_TAG_variable:
- context.push_back(CompilerContext(CompilerContextKind::Variable, ConstString(GetPubname())));
- break;
- case DW_TAG_typedef:
- context.push_back(CompilerContext(CompilerContextKind::Typedef, ConstString(GetName())));
- break;
- default:
- break;
+void DWARFDIE::GetDeclContextDIEs(DWARFDIECollection &decl_context_dies) const {
+ if (IsValid()) {
+ DWARFDIE parent_decl_ctx_die =
+ m_die->GetParentDeclContextDIE(GetDWARF(), GetCU());
+ if (parent_decl_ctx_die && parent_decl_ctx_die.GetDIE() != GetDIE()) {
+ decl_context_dies.Append(parent_decl_ctx_die);
+ parent_decl_ctx_die.GetDeclContextDIEs(decl_context_dies);
}
+ }
+}
+
+void DWARFDIE::GetDWARFDeclContext(DWARFDeclContext &dwarf_decl_ctx) const {
+ if (IsValid()) {
+ dwarf_decl_ctx.SetLanguage(GetLanguage());
+ m_die->GetDWARFDeclContext(GetDWARF(), GetCU(), dwarf_decl_ctx);
+ } else {
+ dwarf_decl_ctx.Clear();
+ }
+}
+
+void DWARFDIE::GetDWOContext(std::vector<CompilerContext> &context) const {
+ const dw_tag_t tag = Tag();
+ if (tag == DW_TAG_compile_unit)
+ return;
+ DWARFDIE parent = GetParent();
+ if (parent)
+ parent.GetDWOContext(context);
+ switch (tag) {
+ case DW_TAG_module:
+ context.push_back(
+ CompilerContext(CompilerContextKind::Module, ConstString(GetName())));
+ break;
+ case DW_TAG_namespace:
+ context.push_back(CompilerContext(CompilerContextKind::Namespace,
+ ConstString(GetName())));
+ break;
+ case DW_TAG_structure_type:
+ context.push_back(CompilerContext(CompilerContextKind::Structure,
+ ConstString(GetName())));
+ break;
+ case DW_TAG_union_type:
+ context.push_back(
+ CompilerContext(CompilerContextKind::Union, ConstString(GetName())));
+ break;
+ case DW_TAG_class_type:
+ context.push_back(
+ CompilerContext(CompilerContextKind::Class, ConstString(GetName())));
+ break;
+ case DW_TAG_enumeration_type:
+ context.push_back(CompilerContext(CompilerContextKind::Enumeration,
+ ConstString(GetName())));
+ break;
+ case DW_TAG_subprogram:
+ context.push_back(CompilerContext(CompilerContextKind::Function,
+ ConstString(GetPubname())));
+ break;
+ case DW_TAG_variable:
+ context.push_back(CompilerContext(CompilerContextKind::Variable,
+ ConstString(GetPubname())));
+ break;
+ case DW_TAG_typedef:
+ context.push_back(
+ CompilerContext(CompilerContextKind::Typedef, ConstString(GetName())));
+ break;
+ default:
+ break;
+ }
}
-
-
DWARFDIE
-DWARFDIE::GetParentDeclContextDIE () const
-{
- if (IsValid())
- return m_die->GetParentDeclContextDIE(GetDWARF(), m_cu);
- else
- return DWARFDIE();
+DWARFDIE::GetParentDeclContextDIE() const {
+ if (IsValid())
+ return m_die->GetParentDeclContextDIE(GetDWARF(), m_cu);
+ else
+ return DWARFDIE();
}
-
-dw_offset_t
-DWARFDIE::GetOffset () const
-{
- if (IsValid())
- return m_die->GetOffset();
- else
- return DW_INVALID_OFFSET;
+dw_offset_t DWARFDIE::GetOffset() const {
+ if (IsValid())
+ return m_die->GetOffset();
+ else
+ return DW_INVALID_OFFSET;
}
-dw_offset_t
-DWARFDIE::GetCompileUnitRelativeOffset () const
-{
- if (IsValid())
- return m_die->GetOffset() - m_cu->GetOffset();
- else
- return DW_INVALID_OFFSET;
+dw_offset_t DWARFDIE::GetCompileUnitRelativeOffset() const {
+ if (IsValid())
+ return m_die->GetOffset() - m_cu->GetOffset();
+ else
+ return DW_INVALID_OFFSET;
}
-SymbolFileDWARF *
-DWARFDIE::GetDWARF () const
-{
- if (m_cu)
- return m_cu->GetSymbolFileDWARF();
- else
- return nullptr;
+SymbolFileDWARF *DWARFDIE::GetDWARF() const {
+ if (m_cu)
+ return m_cu->GetSymbolFileDWARF();
+ else
+ return nullptr;
}
-lldb_private::TypeSystem *
-DWARFDIE::GetTypeSystem () const
-{
- if (m_cu)
- return m_cu->GetTypeSystem();
- else
- return nullptr;
+lldb_private::TypeSystem *DWARFDIE::GetTypeSystem() const {
+ if (m_cu)
+ return m_cu->GetTypeSystem();
+ else
+ return nullptr;
}
-DWARFASTParser *
-DWARFDIE::GetDWARFParser () const
-{
- lldb_private::TypeSystem *type_system = GetTypeSystem ();
- if (type_system)
- return type_system->GetDWARFParser();
- else
- return nullptr;
+DWARFASTParser *DWARFDIE::GetDWARFParser() const {
+ lldb_private::TypeSystem *type_system = GetTypeSystem();
+ if (type_system)
+ return type_system->GetDWARFParser();
+ else
+ return nullptr;
}
-bool
-DWARFDIE::IsStructOrClass () const
-{
- const dw_tag_t tag = Tag();
- return tag == DW_TAG_class_type || tag == DW_TAG_structure_type;
+bool DWARFDIE::IsStructOrClass() const {
+ const dw_tag_t tag = Tag();
+ return tag == DW_TAG_class_type || tag == DW_TAG_structure_type;
}
-
DWARFDIE
-DWARFDIE::GetContainingDWOModuleDIE () const
-{
- if (IsValid())
- {
- DWARFDIE top_module_die;
- // Now make sure this DIE is scoped in a DW_TAG_module tag and return true if so
- for (DWARFDIE parent = GetParent(); parent.IsValid(); parent = parent.GetParent())
- {
- const dw_tag_t tag = parent.Tag();
- if (tag == DW_TAG_module)
- top_module_die = parent;
- else if (tag == DW_TAG_compile_unit)
- break;
- }
-
- return top_module_die;
+DWARFDIE::GetContainingDWOModuleDIE() const {
+ if (IsValid()) {
+ DWARFDIE top_module_die;
+ // Now make sure this DIE is scoped in a DW_TAG_module tag and return true
+ // if so
+ for (DWARFDIE parent = GetParent(); parent.IsValid();
+ parent = parent.GetParent()) {
+ const dw_tag_t tag = parent.Tag();
+ if (tag == DW_TAG_module)
+ top_module_die = parent;
+ else if (tag == DW_TAG_compile_unit)
+ break;
}
- return DWARFDIE();
+
+ return top_module_die;
+ }
+ return DWARFDIE();
}
-lldb::ModuleSP
-DWARFDIE::GetContainingDWOModule () const
-{
- if (IsValid())
- {
- DWARFDIE dwo_module_die = GetContainingDWOModuleDIE();
+lldb::ModuleSP DWARFDIE::GetContainingDWOModule() const {
+ if (IsValid()) {
+ DWARFDIE dwo_module_die = GetContainingDWOModuleDIE();
- if (dwo_module_die)
- {
- const char *module_name = dwo_module_die.GetName();
- if (module_name)
- return GetDWARF()->GetDWOModule (lldb_private::ConstString(module_name));
- }
+ if (dwo_module_die) {
+ const char *module_name = dwo_module_die.GetName();
+ if (module_name)
+ return GetDWARF()->GetDWOModule(lldb_private::ConstString(module_name));
}
- return lldb::ModuleSP();
+ }
+ return lldb::ModuleSP();
}
-bool
-DWARFDIE::HasChildren () const
-{
- if (m_die)
- return m_die->HasChildren();
- else
- return false;
-}
-
-bool
-DWARFDIE::Supports_DW_AT_APPLE_objc_complete_type () const
-{
- if (IsValid())
- return GetDWARF()->Supports_DW_AT_APPLE_objc_complete_type(m_cu);
- else
- return false;
-}
-
-size_t
-DWARFDIE::GetAttributes (DWARFAttributes &attributes, uint32_t depth) const
-{
- if (IsValid())
- {
- return m_die->GetAttributes (m_cu,
- m_cu->GetFixedFormSizes(),
- attributes,
- depth);
- }
- if (depth == 0)
- attributes.Clear();
- return 0;
+bool DWARFDIE::HasChildren() const {
+ if (m_die)
+ return m_die->HasChildren();
+ else
+ return false;
}
-
-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
-{
- if (IsValid())
- {
- return m_die->GetDIENamesAndRanges (GetDWARF(),
- GetCU(),
- name,
- mangled,
- ranges,
- decl_file,
- decl_line,
- decl_column,
- call_file,
- call_line,
- call_column,
- frame_base);
- }
- else
- return false;
+bool DWARFDIE::Supports_DW_AT_APPLE_objc_complete_type() const {
+ if (IsValid())
+ return GetDWARF()->Supports_DW_AT_APPLE_objc_complete_type(m_cu);
+ else
+ return false;
}
-void
-DWARFDIE::Dump (lldb_private::Stream *s, const uint32_t recurse_depth) const
-{
- if (s && IsValid())
- m_die->Dump (GetDWARF(), GetCU(), *s, recurse_depth);
+size_t DWARFDIE::GetAttributes(DWARFAttributes &attributes,
+ uint32_t depth) const {
+ if (IsValid()) {
+ return m_die->GetAttributes(m_cu, m_cu->GetFixedFormSizes(), attributes,
+ depth);
+ }
+ if (depth == 0)
+ attributes.Clear();
+ return 0;
}
-
-CompilerDecl
-DWARFDIE::GetDecl () const
-{
- DWARFASTParser *dwarf_ast = GetDWARFParser();
- if (dwarf_ast)
- return dwarf_ast->GetDeclForUIDFromDWARF(*this);
- else
- return CompilerDecl();
+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 {
+ if (IsValid()) {
+ return m_die->GetDIENamesAndRanges(
+ GetDWARF(), GetCU(), name, mangled, ranges, decl_file, decl_line,
+ decl_column, call_file, call_line, call_column, frame_base);
+ } else
+ return false;
}
-CompilerDeclContext
-DWARFDIE::GetDeclContext () const
-{
- DWARFASTParser *dwarf_ast = GetDWARFParser();
- if (dwarf_ast)
- return dwarf_ast->GetDeclContextForUIDFromDWARF(*this);
- else
- return CompilerDeclContext();
+void DWARFDIE::Dump(lldb_private::Stream *s,
+ const uint32_t recurse_depth) const {
+ if (s && IsValid())
+ m_die->Dump(GetDWARF(), GetCU(), *s, recurse_depth);
}
-CompilerDeclContext
-DWARFDIE::GetContainingDeclContext () const
-{
- DWARFASTParser *dwarf_ast = GetDWARFParser();
- if (dwarf_ast)
- return dwarf_ast->GetDeclContextContainingUIDFromDWARF(*this);
- else
- return CompilerDeclContext();
+CompilerDecl DWARFDIE::GetDecl() const {
+ DWARFASTParser *dwarf_ast = GetDWARFParser();
+ if (dwarf_ast)
+ return dwarf_ast->GetDeclForUIDFromDWARF(*this);
+ else
+ return CompilerDecl();
}
-bool operator == (const DWARFDIE &lhs, const DWARFDIE &rhs)
-{
- return lhs.GetDIE() == rhs.GetDIE() && lhs.GetCU() == rhs.GetCU();
+CompilerDeclContext DWARFDIE::GetDeclContext() const {
+ DWARFASTParser *dwarf_ast = GetDWARFParser();
+ if (dwarf_ast)
+ return dwarf_ast->GetDeclContextForUIDFromDWARF(*this);
+ else
+ return CompilerDeclContext();
}
-bool operator != (const DWARFDIE &lhs, const DWARFDIE &rhs)
-{
- return lhs.GetDIE() != rhs.GetDIE() || lhs.GetCU() != rhs.GetCU();
+CompilerDeclContext DWARFDIE::GetContainingDeclContext() const {
+ DWARFASTParser *dwarf_ast = GetDWARFParser();
+ if (dwarf_ast)
+ return dwarf_ast->GetDeclContextContainingUIDFromDWARF(*this);
+ else
+ return CompilerDeclContext();
}
+bool operator==(const DWARFDIE &lhs, const DWARFDIE &rhs) {
+ return lhs.GetDIE() == rhs.GetDIE() && lhs.GetCU() == rhs.GetCU();
+}
+bool operator!=(const DWARFDIE &lhs, const DWARFDIE &rhs) {
+ return lhs.GetDIE() != rhs.GetDIE() || lhs.GetCU() != rhs.GetCU();
+}
OpenPOWER on IntegriCloud