1 //===-- SymbolFileDWARFDwoDwp.cpp -------------------------------*- 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 #include "SymbolFileDWARFDwoDwp.h"
11 
12 #include "lldb/Core/Section.h"
13 #include "lldb/Expression/DWARFExpression.h"
14 #include "lldb/Symbol/ObjectFile.h"
15 #include "lldb/Utility/LLDBAssert.h"
16 
17 #include "DWARFUnit.h"
18 #include "DWARFDebugInfo.h"
19 
20 using namespace lldb;
21 using namespace lldb_private;
22 
SymbolFileDWARFDwoDwp(SymbolFileDWARFDwp * dwp_symfile,ObjectFileSP objfile,DWARFUnit * dwarf_cu,uint64_t dwo_id)23 SymbolFileDWARFDwoDwp::SymbolFileDWARFDwoDwp(SymbolFileDWARFDwp *dwp_symfile,
24                                              ObjectFileSP objfile,
25                                              DWARFUnit *dwarf_cu,
26                                              uint64_t dwo_id)
27     : SymbolFileDWARFDwo(objfile, dwarf_cu), m_dwp_symfile(dwp_symfile),
28       m_dwo_id(dwo_id) {}
29 
LoadSectionData(lldb::SectionType sect_type,DWARFDataExtractor & data)30 void SymbolFileDWARFDwoDwp::LoadSectionData(lldb::SectionType sect_type,
31                                             DWARFDataExtractor &data) {
32   if (m_dwp_symfile->LoadSectionData(m_dwo_id, sect_type, data))
33     return;
34 
35   SymbolFileDWARF::LoadSectionData(sect_type, data);
36 }
37