LLDB  mainline
SymbolFileDWARFDwo.h
Go to the documentation of this file.
1 //===-- SymbolFileDWARFDwo.h ------------------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef SymbolFileDWARFDwo_SymbolFileDWARFDwo_h_
10 #define SymbolFileDWARFDwo_SymbolFileDWARFDwo_h_
11 
12 #include "SymbolFileDWARF.h"
13 
15 public:
16  SymbolFileDWARFDwo(lldb::ObjectFileSP objfile, DWARFUnit *dwarf_cu);
17 
18  ~SymbolFileDWARFDwo() override = default;
19 
20  lldb::CompUnitSP ParseCompileUnit(DWARFUnit *dwarf_cu,
21  uint32_t cu_idx) override;
22 
24 
25  DWARFUnit *
27 
29  GetLocationListFormat() const override;
30 
32  DIEArray &method_die_offsets) override;
33 
36 
37  DWARFDIE
38  GetDIE(const DIERef &die_ref) override;
39 
40  std::unique_ptr<SymbolFileDWARFDwo>
42  const DWARFDebugInfoEntry &cu_die) override {
43  return nullptr;
44  }
45 
46  DWARFUnit *GetBaseCompileUnit() override;
47 
53 
54 protected:
55  void LoadSectionData(lldb::SectionType sect_type,
56  lldb_private::DWARFDataExtractor &data) override;
57 
58  DIEToTypePtr &GetDIEToType() override;
59 
61 
63 
65 
67 
69  const DWARFDeclContext &die_decl_ctx) override;
70 
72  const DWARFDIE &die, lldb_private::ConstString type_name,
73  bool must_be_implementation) override;
74 
76 
77  lldb::ObjectFileSP m_obj_file_sp;
79 };
80 
81 #endif // SymbolFileDWARFDwo_SymbolFileDWARFDwo_h_
DWARFUnit * GetBaseCompileUnit() override
UniqueDWARFASTTypeMap & GetUniqueDWARFASTTypeMap() override
DWARFUnit * GetDWARFCompileUnit(lldb_private::CompileUnit *comp_unit) override
~SymbolFileDWARFDwo() override=default
Definition: DIERef.h:18
DWARFUnit * m_base_dwarf_cu
A class that describes a compilation unit.
Definition: CompileUnit.h:35
lldb::TypeSP FindCompleteObjCDefinitionTypeForDIE(const DWARFDIE &die, lldb_private::ConstString type_name, bool must_be_implementation) override
std::vector< DIERef > DIEArray
Definition: DIERef.h:51
lldb::CompUnitSP ParseCompileUnit(DWARFUnit *dwarf_cu, uint32_t cu_idx) override
const lldb_private::DWARFDataExtractor & get_debug_str_offsets_data() override
lldb::ObjectFileSP m_obj_file_sp
DIEToClangType & GetForwardDeclDieToClangType() override
llvm::DenseMap< lldb::opaque_compiler_type_t, DIERef > ClangTypeToDIE
LanguageType
Programming language type.
std::unique_ptr< SymbolFileDWARFDwo > GetDwoSymbolFileForCompileUnit(DWARFUnit &dwarf_cu, const DWARFDebugInfoEntry &cu_die) override
lldb_private::TypeSystem * GetTypeSystemForLanguage(lldb::LanguageType language) override
SymbolFileDWARFDwo(lldb::ObjectFileSP objfile, DWARFUnit *dwarf_cu)
llvm::DenseMap< const DWARFDebugInfoEntry *, lldb::opaque_compiler_type_t > DIEToClangType
DWARFDIE GetDIE(const DIERef &die_ref) override
llvm::DenseMap< const DWARFDebugInfoEntry *, lldb::VariableSP > DIEToVariableSP
DIEToVariableSP & GetDIEToVariable() override
const lldb_private::DWARFDataExtractor & get_debug_str_data() override
lldb::TypeSP FindDefinitionTypeForDWARFDeclContext(const DWARFDeclContext &die_decl_ctx) override
DIEToTypePtr & GetDIEToType() override
const lldb_private::DWARFDataExtractor & get_debug_abbrev_data() override
const lldb_private::DWARFDataExtractor & get_debug_addr_data() override
lldb_private::DWARFExpression::LocationListFormat GetLocationListFormat() const override
DWARFUnit * GetCompileUnit()
A uniqued constant string class.
Definition: ConstString.h:38
SymbolFileDWARF * GetBaseSymbolFile()
const lldb_private::DWARFDataExtractor & get_debug_info_data() override
void LoadSectionData(lldb::SectionType sect_type, lldb_private::DWARFDataExtractor &data) override
ClangTypeToDIE & GetForwardDeclClangTypeToDie() override
size_t GetObjCMethodDIEOffsets(lldb_private::ConstString class_name, DIEArray &method_die_offsets) override
llvm::DenseMap< const DWARFDebugInfoEntry *, lldb_private::Type * > DIEToTypePtr