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