Line data Source code
1 : //===- PDBSymbolTypeBaseClass.h - base class type information ---*- C++ -*-===//
2 : //
3 : // The LLVM Compiler Infrastructure
4 : //
5 : // This file is distributed under the University of Illinois Open Source
6 : // License. See LICENSE.TXT for details.
7 : //
8 : //===----------------------------------------------------------------------===//
9 :
10 : #ifndef LLVM_DEBUGINFO_PDB_PDBSYMBOLTYPEBASECLASS_H
11 : #define LLVM_DEBUGINFO_PDB_PDBSYMBOLTYPEBASECLASS_H
12 :
13 : #include "PDBSymbol.h"
14 : #include "PDBTypes.h"
15 :
16 : #include "llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h"
17 : #include "llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h"
18 :
19 : namespace llvm {
20 :
21 : class raw_ostream;
22 : namespace pdb {
23 :
24 : class PDBSymbolTypeBaseClass : public PDBSymbol {
25 33 : DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::BaseClass)
26 : public:
27 : void dump(PDBSymDumper &Dumper) const override;
28 :
29 0 : FORWARD_SYMBOL_METHOD(getAccess)
30 : FORWARD_SYMBOL_ID_METHOD(getClassParent)
31 : FORWARD_SYMBOL_METHOD(hasConstructor)
32 : FORWARD_SYMBOL_METHOD(isConstType)
33 : FORWARD_SYMBOL_METHOD(hasAssignmentOperator)
34 : FORWARD_SYMBOL_METHOD(hasCastOperator)
35 : FORWARD_SYMBOL_METHOD(hasNestedTypes)
36 0 : FORWARD_SYMBOL_METHOD(isIndirectVirtualBaseClass)
37 0 : FORWARD_SYMBOL_METHOD(getLength)
38 : FORWARD_SYMBOL_ID_METHOD(getLexicalParent)
39 0 : FORWARD_SYMBOL_METHOD(getName)
40 : FORWARD_SYMBOL_METHOD(isNested)
41 0 : FORWARD_SYMBOL_METHOD(getOffset)
42 : FORWARD_SYMBOL_METHOD(hasOverloadedOperator)
43 : FORWARD_SYMBOL_METHOD(isPacked)
44 : FORWARD_SYMBOL_METHOD(isScoped)
45 : FORWARD_SYMBOL_ID_METHOD(getType)
46 : FORWARD_SYMBOL_METHOD(getUdtKind)
47 : FORWARD_SYMBOL_METHOD(isUnalignedType)
48 :
49 0 : FORWARD_SYMBOL_METHOD(isVirtualBaseClass)
50 : FORWARD_SYMBOL_METHOD(getVirtualBaseDispIndex)
51 0 : FORWARD_SYMBOL_METHOD(getVirtualBasePointerOffset)
52 : // FORWARD_SYMBOL_METHOD(getVirtualBaseTableType)
53 : FORWARD_SYMBOL_ID_METHOD(getVirtualTableShape)
54 : FORWARD_SYMBOL_METHOD(isVolatileType)
55 : };
56 :
57 : } // namespace llvm
58 : }
59 :
60 : #endif // LLVM_DEBUGINFO_PDB_PDBSYMBOLTYPEBASECLASS_H
|