//===-- LVReader.h ----------------------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This file defines the LVReader class, which is used to describe a debug // information reader. // //===----------------------------------------------------------------------===// #ifndef LLVM_DEBUGINFO_LOGICALVIEW_CORE_LVREADER_H #define LLVM_DEBUGINFO_LOGICALVIEW_CORE_LVREADER_H #include "llvm/DebugInfo/LogicalView/Core/LVOptions.h" #include "llvm/DebugInfo/LogicalView/Core/LVRange.h" #include "llvm/Support/Errc.h" #include "llvm/Support/Error.h" #include "llvm/Support/ScopedPrinter.h" #include "llvm/Support/ToolOutputFile.h" #include <map> namespace llvm { namespace logicalview { constexpr LVSectionIndex UndefinedSectionIndex = …; class LVScopeCompileUnit; class LVObject; class LVSplitContext final { … }; /// The logical reader owns of all the logical elements created during /// the debug information parsing. For its creation it uses a specific /// bump allocator for each type of logical element. class LVReader { … }; inline LVReader &getReader() { … } inline LVSplitContext &getReaderSplitContext() { … } inline LVScopeCompileUnit *getReaderCompileUnit() { … } } // end namespace logicalview } // end namespace llvm #endif // LLVM_DEBUGINFO_LOGICALVIEW_CORE_LVREADER_H