//===-- LVType.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 LVType class, which is used to describe a debug // information type. // //===----------------------------------------------------------------------===// #ifndef LLVM_DEBUGINFO_LOGICALVIEW_CORE_LVTYPE_H #define LLVM_DEBUGINFO_LOGICALVIEW_CORE_LVTYPE_H #include "llvm/DebugInfo/LogicalView/Core/LVElement.h" namespace llvm { namespace logicalview { enum class LVTypeKind { … }; LVTypeKindSelection; LVTypeDispatch; LVTypeRequest; // Class to represent a DWARF Type. class LVType : public LVElement { … }; // Class to represent DW_TAG_typedef_type. class LVTypeDefinition final : public LVType { … }; // Class to represent a DW_TAG_enumerator. class LVTypeEnumerator final : public LVType { … }; // Class to represent DW_TAG_imported_module / DW_TAG_imported_declaration. class LVTypeImport final : public LVType { … }; // Class to represent a DWARF Template parameter holder (type or param). class LVTypeParam final : public LVType { … }; // Class to represent a DW_TAG_subrange_type. class LVTypeSubrange final : public LVType { … }; } // end namespace logicalview } // end namespace llvm #endif // LLVM_DEBUGINFO_LOGICALVIEW_CORE_LVTYPE_H