SymbolFileDWARFDwo.h revision 293127
1//===-- SymbolFileDWARFDwo.h ------------------------------------*- C++ -*-===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef SymbolFileDWARFDwo_SymbolFileDWARFDwo_h_
11#define SymbolFileDWARFDwo_SymbolFileDWARFDwo_h_
12
13// C Includes
14// C++ Includes
15// Other libraries and framework includes
16// Project includes
17#include "SymbolFileDWARF.h"
18
19class SymbolFileDWARFDwo : public SymbolFileDWARF
20{
21public:
22    SymbolFileDWARFDwo(lldb::ObjectFileSP objfile, DWARFCompileUnit* dwarf_cu);
23
24    ~SymbolFileDWARFDwo() override = default;
25
26    lldb::CompUnitSP
27    ParseCompileUnit(DWARFCompileUnit* dwarf_cu, uint32_t cu_idx) override;
28
29    DWARFCompileUnit*
30    GetCompileUnit();
31
32    DWARFCompileUnit*
33    GetDWARFCompileUnit(lldb_private::CompileUnit *comp_unit) override;
34
35    lldb_private::DWARFExpression::LocationListFormat
36    GetLocationListFormat() const override;
37
38    lldb_private::TypeSystem*
39    GetTypeSystemForLanguage(lldb::LanguageType language) override;
40
41protected:
42    void
43    LoadSectionData (lldb::SectionType sect_type, lldb_private::DWARFDataExtractor& data) override;
44
45    DIEToTypePtr&
46    GetDIEToType() override;
47
48    DIEToVariableSP&
49    GetDIEToVariable() override;
50
51    DIEToClangType&
52    GetForwardDeclDieToClangType() override;
53
54    ClangTypeToDIE&
55    GetForwardDeclClangTypeToDie() override;
56
57    UniqueDWARFASTTypeMap&
58    GetUniqueDWARFASTTypeMap() override;
59
60    lldb::TypeSP
61    FindDefinitionTypeForDWARFDeclContext (const DWARFDeclContext &die_decl_ctx) override;
62
63    SymbolFileDWARF*
64    GetBaseSymbolFile();
65
66    lldb::ObjectFileSP m_obj_file_sp;
67    DWARFCompileUnit* m_base_dwarf_cu;
68};
69
70#endif // SymbolFileDWARFDwo_SymbolFileDWARFDwo_h_
71