SymbolFileDWARFDwo.h revision 341825
1254721Semaste//===-- SymbolFileDWARFDwo.h ------------------------------------*- C++ -*-===// 2254721Semaste// 3254721Semaste// The LLVM Compiler Infrastructure 4254721Semaste// 5254721Semaste// This file is distributed under the University of Illinois Open Source 6254721Semaste// License. See LICENSE.TXT for details. 7254721Semaste// 8254721Semaste//===----------------------------------------------------------------------===// 9254721Semaste 10254721Semaste#ifndef SymbolFileDWARFDwo_SymbolFileDWARFDwo_h_ 11254721Semaste#define SymbolFileDWARFDwo_SymbolFileDWARFDwo_h_ 12254721Semaste 13254721Semaste// C Includes 14254721Semaste// C++ Includes 15254721Semaste// Other libraries and framework includes 16254721Semaste// Project includes 17254721Semaste#include "SymbolFileDWARF.h" 18254721Semaste 19254721Semasteclass SymbolFileDWARFDwo : public SymbolFileDWARF { 20254721Semastepublic: 21254721Semaste SymbolFileDWARFDwo(lldb::ObjectFileSP objfile, DWARFUnit *dwarf_cu); 22254721Semaste 23254721Semaste ~SymbolFileDWARFDwo() override = default; 24254721Semaste 25254721Semaste lldb::CompUnitSP ParseCompileUnit(DWARFUnit *dwarf_cu, 26254721Semaste uint32_t cu_idx) override; 27254721Semaste 28254721Semaste DWARFUnit *GetCompileUnit(); 29254721Semaste 30254721Semaste DWARFUnit * 31254721Semaste GetDWARFCompileUnit(lldb_private::CompileUnit *comp_unit) override; 32254721Semaste 33254721Semaste lldb_private::DWARFExpression::LocationListFormat 34254721Semaste GetLocationListFormat() const override; 35254721Semaste 36254721Semaste size_t GetObjCMethodDIEOffsets(lldb_private::ConstString class_name, 37254721Semaste DIEArray &method_die_offsets) override; 38254721Semaste 39254721Semaste lldb_private::TypeSystem * 40254721Semaste GetTypeSystemForLanguage(lldb::LanguageType language) override; 41254721Semaste 42254721Semaste DWARFDIE 43254721Semaste GetDIE(const DIERef &die_ref) override; 44254721Semaste 45254721Semaste std::unique_ptr<SymbolFileDWARFDwo> 46254721Semaste GetDwoSymbolFileForCompileUnit(DWARFUnit &dwarf_cu, 47254721Semaste const DWARFDebugInfoEntry &cu_die) override { 48254721Semaste return nullptr; 49254721Semaste } 50254721Semaste 51254721Semaste DWARFUnit *GetBaseCompileUnit() override; 52254721Semaste 53254721Semasteprotected: 54254721Semaste void LoadSectionData(lldb::SectionType sect_type, 55254721Semaste lldb_private::DWARFDataExtractor &data) override; 56254721Semaste 57254721Semaste DIEToTypePtr &GetDIEToType() override; 58254721Semaste 59254721Semaste DIEToVariableSP &GetDIEToVariable() override; 60254721Semaste 61254721Semaste DIEToClangType &GetForwardDeclDieToClangType() override; 62254721Semaste 63254721Semaste ClangTypeToDIE &GetForwardDeclClangTypeToDie() override; 64254721Semaste 65254721Semaste UniqueDWARFASTTypeMap &GetUniqueDWARFASTTypeMap() override; 66254721Semaste 67254721Semaste lldb::TypeSP FindDefinitionTypeForDWARFDeclContext( 68254721Semaste const DWARFDeclContext &die_decl_ctx) override; 69254721Semaste 70254721Semaste lldb::TypeSP FindCompleteObjCDefinitionTypeForDIE( 71254721Semaste const DWARFDIE &die, const lldb_private::ConstString &type_name, 72254721Semaste bool must_be_implementation) override; 73254721Semaste 74254721Semaste SymbolFileDWARF *GetBaseSymbolFile(); 75254721Semaste 76254721Semaste lldb::ObjectFileSP m_obj_file_sp; 77254721Semaste DWARFUnit *m_base_dwarf_cu; 78254721Semaste}; 79254721Semaste 80254721Semaste#endif // SymbolFileDWARFDwo_SymbolFileDWARFDwo_h_ 81254721Semaste