Path: blob/main/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h
39645 views
//===-- DWARFCompileUnit.h --------------------------------------*- C++ -*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#ifndef LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_DWARFCOMPILEUNIT_H9#define LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_DWARFCOMPILEUNIT_H1011#include "DWARFUnit.h"12#include "llvm/Support/Error.h"1314namespace llvm {15class DWARFAbbreviationDeclarationSet;16} // namespace llvm1718namespace lldb_private::plugin {19namespace dwarf {20class DWARFCompileUnit : public DWARFUnit {21public:22void BuildAddressRangeTable(DWARFDebugAranges *debug_aranges) override;2324void Dump(Stream *s) const override;2526static bool classof(const DWARFUnit *unit) { return !unit->IsTypeUnit(); }2728DWARFCompileUnit &GetNonSkeletonUnit();2930DWARFDIE LookupAddress(const dw_addr_t address);3132private:33DWARFCompileUnit(SymbolFileDWARF &dwarf, lldb::user_id_t uid,34const llvm::DWARFUnitHeader &header,35const llvm::DWARFAbbreviationDeclarationSet &abbrevs,36DIERef::Section section, bool is_dwo)37: DWARFUnit(dwarf, uid, header, abbrevs, section, is_dwo) {}3839DWARFCompileUnit(const DWARFCompileUnit &) = delete;40const DWARFCompileUnit &operator=(const DWARFCompileUnit &) = delete;4142friend class DWARFUnit;43};44} // namespace dwarf45} // namespace lldb_private::plugin4647#endif // LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_DWARFCOMPILEUNIT_H484950