1 //===- DWARFCompileUnit.h ---------------------------------------*- C++ -*-===//
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
7 //===----------------------------------------------------------------------===//
9 #ifndef LLVM_DEBUGINFO_DWARFCOMPILEUNIT_H
10 #define LLVM_DEBUGINFO_DWARFCOMPILEUNIT_H
12 #include "llvm/DebugInfo/DWARF/DWARFUnit.h"
13 #include "llvm/DebugInfo/DWARF/DWARFUnitIndex.h"
17 class DWARFCompileUnit
: public DWARFUnit
{
19 DWARFCompileUnit(DWARFContext
&Context
, const DWARFSection
&Section
,
20 const DWARFUnitHeader
&Header
, const DWARFDebugAbbrev
*DA
,
21 const DWARFSection
*RS
, const DWARFSection
*LocSection
,
22 StringRef SS
, const DWARFSection
&SOS
,
23 const DWARFSection
*AOS
, const DWARFSection
&LS
, bool LE
,
24 bool IsDWO
, const DWARFUnitVector
&UnitVector
)
25 : DWARFUnit(Context
, Section
, Header
, DA
, RS
, LocSection
, SS
, SOS
, AOS
,
26 LS
, LE
, IsDWO
, UnitVector
) {}
29 ~DWARFCompileUnit() override
;
30 /// Dump this compile unit to \p OS.
31 void dump(raw_ostream
&OS
, DIDumpOptions DumpOpts
) override
;
32 /// Enable LLVM-style RTTI.
33 static bool classof(const DWARFUnit
*U
) { return !U
->isTypeUnit(); }
36 } // end namespace llvm
38 #endif // LLVM_DEBUGINFO_DWARFCOMPILEUNIT_H