Line data Source code
1 : //===- PDBSymbolTypeEnum.h - enum type info ---------------------*- 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_PDBSYMBOLTYPEENUM_H
11 : #define LLVM_DEBUGINFO_PDB_PDBSYMBOLTYPEENUM_H
12 :
13 : #include "IPDBLineNumber.h"
14 : #include "PDBSymbol.h"
15 : #include "PDBSymbolTypeBuiltin.h"
16 : #include "PDBTypes.h"
17 :
18 : namespace llvm {
19 :
20 : class raw_ostream;
21 : namespace pdb {
22 :
23 : class PDBSymbolTypeEnum : public PDBSymbol {
24 255 : DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::Enum)
25 : public:
26 : void dump(PDBSymDumper &Dumper) const override;
27 :
28 : FORWARD_SYMBOL_METHOD(getBuiltinType)
29 23 : FORWARD_SYMBOL_ID_METHOD(getClassParent)
30 : FORWARD_SYMBOL_METHOD(hasConstructor)
31 1 : FORWARD_SYMBOL_METHOD(isConstType)
32 : FORWARD_SYMBOL_METHOD(hasAssignmentOperator)
33 : FORWARD_SYMBOL_METHOD(hasCastOperator)
34 : FORWARD_SYMBOL_METHOD(hasNestedTypes)
35 23 : FORWARD_SYMBOL_METHOD(getLength)
36 : FORWARD_SYMBOL_ID_METHOD(getLexicalParent)
37 23 : FORWARD_SYMBOL_ID_METHOD(getUnmodifiedType)
38 54 : FORWARD_SYMBOL_METHOD(getName)
39 : FORWARD_SYMBOL_METHOD(getSrcLineOnTypeDefn)
40 : FORWARD_SYMBOL_METHOD(isNested)
41 : FORWARD_SYMBOL_METHOD(hasOverloadedOperator)
42 : FORWARD_SYMBOL_METHOD(isPacked)
43 : FORWARD_SYMBOL_METHOD(isScoped)
44 22 : FORWARD_CONCRETE_SYMBOL_ID_METHOD_WITH_NAME(PDBSymbolTypeBuiltin, getType,
45 : getUnderlyingType)
46 1 : FORWARD_SYMBOL_METHOD(isUnalignedType)
47 1 : FORWARD_SYMBOL_METHOD(isVolatileType)
48 : };
49 :
50 : } // namespace llvm
51 : }
52 :
53 : #endif // LLVM_DEBUGINFO_PDB_PDBSYMBOLTYPEENUM_H
|