diff options
Diffstat (limited to 'source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h')
-rw-r--r-- | source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h | 31 |
1 files changed, 14 insertions, 17 deletions
diff --git a/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h b/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h index b9ed37547aca..9b2f3bb84c4f 100644 --- a/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h +++ b/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h @@ -1,9 +1,8 @@ //===-- SymbolFileDWARFDwo.h ------------------------------------*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// @@ -14,14 +13,13 @@ class SymbolFileDWARFDwo : public SymbolFileDWARF { public: - SymbolFileDWARFDwo(lldb::ObjectFileSP objfile, DWARFUnit *dwarf_cu); + SymbolFileDWARFDwo(lldb::ObjectFileSP objfile, DWARFCompileUnit &dwarf_cu); ~SymbolFileDWARFDwo() override = default; - lldb::CompUnitSP ParseCompileUnit(DWARFUnit *dwarf_cu, - uint32_t cu_idx) override; + lldb::CompUnitSP ParseCompileUnit(DWARFCompileUnit &dwarf_cu) override; - DWARFUnit *GetCompileUnit(); + DWARFCompileUnit *GetCompileUnit(); DWARFUnit * GetDWARFCompileUnit(lldb_private::CompileUnit *comp_unit) override; @@ -44,13 +42,9 @@ public: return nullptr; } - DWARFUnit *GetBaseCompileUnit() override; + DWARFCompileUnit *GetBaseCompileUnit() override { return &m_base_dwarf_cu; } - const lldb_private::DWARFDataExtractor &get_debug_abbrev_data() override; - const lldb_private::DWARFDataExtractor &get_debug_addr_data() override; - const lldb_private::DWARFDataExtractor &get_debug_info_data() override; - const lldb_private::DWARFDataExtractor &get_debug_str_data() override; - const lldb_private::DWARFDataExtractor &get_debug_str_offsets_data() override; + llvm::Optional<uint32_t> GetDwoNum() override { return GetID() >> 32; } protected: void LoadSectionData(lldb::SectionType sect_type, @@ -70,13 +64,16 @@ protected: const DWARFDeclContext &die_decl_ctx) override; lldb::TypeSP FindCompleteObjCDefinitionTypeForDIE( - const DWARFDIE &die, const lldb_private::ConstString &type_name, + const DWARFDIE &die, lldb_private::ConstString type_name, bool must_be_implementation) override; - SymbolFileDWARF *GetBaseSymbolFile(); + SymbolFileDWARF &GetBaseSymbolFile(); + + DWARFCompileUnit *ComputeCompileUnit(); lldb::ObjectFileSP m_obj_file_sp; - DWARFUnit *m_base_dwarf_cu; + DWARFCompileUnit &m_base_dwarf_cu; + DWARFCompileUnit *m_cu = nullptr; }; #endif // SymbolFileDWARFDwo_SymbolFileDWARFDwo_h_ |