10b57cec5SDimitry Andric //===- PDBSymbolTypeBaseClass.h - base class type information ---*- C++ -*-===// 20b57cec5SDimitry Andric // 30b57cec5SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 40b57cec5SDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 50b57cec5SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 60b57cec5SDimitry Andric // 70b57cec5SDimitry Andric //===----------------------------------------------------------------------===// 80b57cec5SDimitry Andric 90b57cec5SDimitry Andric #ifndef LLVM_DEBUGINFO_PDB_PDBSYMBOLTYPEBASECLASS_H 100b57cec5SDimitry Andric #define LLVM_DEBUGINFO_PDB_PDBSYMBOLTYPEBASECLASS_H 110b57cec5SDimitry Andric 120b57cec5SDimitry Andric #include "PDBSymbol.h" 130b57cec5SDimitry Andric #include "PDBTypes.h" 140b57cec5SDimitry Andric 1581ad6265SDimitry Andric #include "llvm/DebugInfo/PDB/IPDBRawSymbol.h" 160b57cec5SDimitry Andric 170b57cec5SDimitry Andric namespace llvm { 180b57cec5SDimitry Andric 190b57cec5SDimitry Andric namespace pdb { 200b57cec5SDimitry Andric 2181ad6265SDimitry Andric class PDBSymDumper; 2281ad6265SDimitry Andric 230b57cec5SDimitry Andric class PDBSymbolTypeBaseClass : public PDBSymbol { 240b57cec5SDimitry Andric DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::BaseClass) 250b57cec5SDimitry Andric public: 260b57cec5SDimitry Andric void dump(PDBSymDumper &Dumper) const override; 270b57cec5SDimitry Andric 280b57cec5SDimitry Andric FORWARD_SYMBOL_METHOD(getAccess) 290b57cec5SDimitry Andric FORWARD_SYMBOL_ID_METHOD(getClassParent) 300b57cec5SDimitry Andric FORWARD_SYMBOL_METHOD(hasConstructor) 310b57cec5SDimitry Andric FORWARD_SYMBOL_METHOD(isConstType) 320b57cec5SDimitry Andric FORWARD_SYMBOL_METHOD(hasAssignmentOperator) 330b57cec5SDimitry Andric FORWARD_SYMBOL_METHOD(hasCastOperator) 340b57cec5SDimitry Andric FORWARD_SYMBOL_METHOD(hasNestedTypes) 350b57cec5SDimitry Andric FORWARD_SYMBOL_METHOD(isIndirectVirtualBaseClass) 360b57cec5SDimitry Andric FORWARD_SYMBOL_METHOD(getLength) 370b57cec5SDimitry Andric FORWARD_SYMBOL_ID_METHOD(getLexicalParent) 380b57cec5SDimitry Andric FORWARD_SYMBOL_METHOD(getName) 390b57cec5SDimitry Andric FORWARD_SYMBOL_METHOD(isNested) 400b57cec5SDimitry Andric FORWARD_SYMBOL_METHOD(getOffset) 410b57cec5SDimitry Andric FORWARD_SYMBOL_METHOD(hasOverloadedOperator) 420b57cec5SDimitry Andric FORWARD_SYMBOL_METHOD(isPacked) 430b57cec5SDimitry Andric FORWARD_SYMBOL_METHOD(isScoped) 440b57cec5SDimitry Andric FORWARD_SYMBOL_ID_METHOD(getType) 450b57cec5SDimitry Andric FORWARD_SYMBOL_METHOD(getUdtKind) 460b57cec5SDimitry Andric FORWARD_SYMBOL_METHOD(isUnalignedType) 470b57cec5SDimitry Andric 480b57cec5SDimitry Andric FORWARD_SYMBOL_METHOD(isVirtualBaseClass) 490b57cec5SDimitry Andric FORWARD_SYMBOL_METHOD(getVirtualBaseDispIndex) 500b57cec5SDimitry Andric FORWARD_SYMBOL_METHOD(getVirtualBasePointerOffset) 510b57cec5SDimitry Andric // FORWARD_SYMBOL_METHOD(getVirtualBaseTableType) 520b57cec5SDimitry Andric FORWARD_SYMBOL_ID_METHOD(getVirtualTableShape) 530b57cec5SDimitry Andric FORWARD_SYMBOL_METHOD(isVolatileType) 540b57cec5SDimitry Andric }; 550b57cec5SDimitry Andric 5604eeddc0SDimitry Andric } // namespace pdb 570b57cec5SDimitry Andric } // namespace llvm 580b57cec5SDimitry Andric 590b57cec5SDimitry Andric #endif // LLVM_DEBUGINFO_PDB_PDBSYMBOLTYPEBASECLASS_H 60