[Lldb-commits] [lldb] e6b3a27 - [lldb][NFC] Move DWARFASTParserClang::GetTypeForDIE to DWARFASTParser (#69764)
via lldb-commits
lldb-commits at lists.llvm.org
Mon Oct 23 17:22:20 PDT 2023
Author: Augusto Noronha
Date: 2023-10-23T17:22:16-07:00
New Revision: e6b3a2753b173aa87bd9ac373a150106856e80e4
URL: https://github.com/llvm/llvm-project/commit/e6b3a2753b173aa87bd9ac373a150106856e80e4
DIFF: https://github.com/llvm/llvm-project/commit/e6b3a2753b173aa87bd9ac373a150106856e80e4.diff
LOG: [lldb][NFC] Move DWARFASTParserClang::GetTypeForDIE to DWARFASTParser (#69764)
Added:
Modified:
lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.cpp
lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
Removed:
################################################################################
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.cpp
index 1fe0cadecc9e70e..409e9bb37ab28b9 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.cpp
@@ -9,6 +9,7 @@
#include "DWARFASTParser.h"
#include "DWARFAttribute.h"
#include "DWARFDIE.h"
+#include "SymbolFileDWARF.h"
#include "lldb/Core/ValueObject.h"
#include "lldb/Symbol/SymbolFile.h"
@@ -100,6 +101,30 @@ DWARFASTParser::ParseChildArrayInfo(const DWARFDIE &parent_die,
return array_info;
}
+Type *DWARFASTParser::GetTypeForDIE(const DWARFDIE &die) {
+ if (!die)
+ return nullptr;
+
+ SymbolFileDWARF *dwarf = die.GetDWARF();
+ if (!dwarf)
+ return nullptr;
+
+ DWARFAttributes attributes = die.GetAttributes();
+ if (attributes.Size() == 0)
+ return nullptr;
+
+ DWARFFormValue type_die_form;
+ for (size_t i = 0; i < attributes.Size(); ++i) {
+ dw_attr_t attr = attributes.AttributeAtIndex(i);
+ DWARFFormValue form_value;
+
+ if (attr == DW_AT_type && attributes.ExtractFormValueAtIndex(i, form_value))
+ return dwarf->ResolveTypeUID(form_value.Reference(), true);
+ }
+
+ return nullptr;
+}
+
AccessType
DWARFASTParser::GetAccessTypeFromDWARF(uint32_t dwarf_accessibility) {
switch (dwarf_accessibility) {
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
index 1efe0ff347d9c8f..6749cb0e5db17a6 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
@@ -64,6 +64,9 @@ class DWARFASTParser {
ParseChildArrayInfo(const DWARFDIE &parent_die,
const ExecutionContext *exe_ctx = nullptr);
+ lldb_private::Type *
+ GetTypeForDIE(const lldb_private::plugin::dwarf::DWARFDIE &die);
+
static lldb::AccessType GetAccessTypeFromDWARF(uint32_t dwarf_accessibility);
Kind GetKind() const { return m_kind; }
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
index 5d107ce63b8bc25..22528e09c34995e 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
@@ -3293,30 +3293,6 @@ size_t DWARFASTParserClang::ParseChildParameters(
return arg_idx;
}
-Type *DWARFASTParserClang::GetTypeForDIE(const DWARFDIE &die) {
- if (!die)
- return nullptr;
-
- SymbolFileDWARF *dwarf = die.GetDWARF();
- if (!dwarf)
- return nullptr;
-
- DWARFAttributes attributes = die.GetAttributes();
- if (attributes.Size() == 0)
- return nullptr;
-
- DWARFFormValue type_die_form;
- for (size_t i = 0; i < attributes.Size(); ++i) {
- dw_attr_t attr = attributes.AttributeAtIndex(i);
- DWARFFormValue form_value;
-
- if (attr == DW_AT_type && attributes.ExtractFormValueAtIndex(i, form_value))
- return dwarf->ResolveTypeUID(form_value.Reference(), true);
- }
-
- return nullptr;
-}
-
clang::Decl *DWARFASTParserClang::GetClangDeclForDIE(const DWARFDIE &die) {
if (!die)
return nullptr;
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
index d58fcf4a64dab3b..c381c58fba74263 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
@@ -199,9 +199,6 @@ class DWARFASTParserClang : public lldb_private::plugin::dwarf::DWARFASTParser {
const lldb_private::plugin::dwarf::DWARFDIE &die,
ParsedDWARFTypeAttributes &attrs);
- lldb_private::Type *
- GetTypeForDIE(const lldb_private::plugin::dwarf::DWARFDIE &die);
-
clang::Decl *
GetClangDeclForDIE(const lldb_private::plugin::dwarf::DWARFDIE &die);
More information about the lldb-commits
mailing list