llvm-pdbdump: Improve printing of functions and signatures.
[oota-llvm.git] / include / llvm / DebugInfo / PDB / PDBSymbolTypeEnum.h
index 2a4d904828e1ef0c725031076c5ed8de4b944b66..a1ee01d826267c64aa228e8d9a9aacfbf8a1b31f 100644 (file)
 
 namespace llvm {
 
+class raw_ostream;
+
 class PDBSymbolTypeEnum : public PDBSymbol {
 public:
-  PDBSymbolTypeEnum(std::unique_ptr<IPDBRawSymbol> EnumTypeSymbol);
+  PDBSymbolTypeEnum(const IPDBSession &PDBSession,
+                    std::unique_ptr<IPDBRawSymbol> EnumTypeSymbol);
+
+  DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::Enum)
+
+  void dump(raw_ostream &OS, int Indent, PDB_DumpLevel Level) const override;
 
   FORWARD_SYMBOL_METHOD(getBuiltinType)
   FORWARD_SYMBOL_METHOD(getClassParentId)
@@ -37,10 +44,6 @@ public:
   FORWARD_SYMBOL_METHOD(getTypeId)
   FORWARD_SYMBOL_METHOD(isUnalignedType)
   FORWARD_SYMBOL_METHOD(isVolatileType)
-
-  static bool classof(const PDBSymbol *S) {
-    return S->getSymTag() == PDB_SymType::Enum;
-  }
 };
 
 } // namespace llvm