llvm-pdbdump: Add more comprehensive dumping of symbol types.
[oota-llvm.git] / include / llvm / DebugInfo / PDB / PDBSymbolTypePointer.h
index ffc7b6393124b9882a8d7fbdc37fcb890ad4a585..f0989c1770ac33eca19205f3823b8c35a11830aa 100644 (file)
@@ -19,9 +19,12 @@ class raw_ostream;
 
 class PDBSymbolTypePointer : public PDBSymbol {
 public:
-  PDBSymbolTypePointer(std::unique_ptr<IPDBRawSymbol> PointerTypeSymbol);
+  PDBSymbolTypePointer(const IPDBSession &PDBSession,
+                       std::unique_ptr<IPDBRawSymbol> Symbol);
 
-  void dump(llvm::raw_ostream &OS) const override;
+  DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::PointerType)
+
+  void dump(raw_ostream &OS, int Indent, PDB_DumpLevel Level) const override;
 
   FORWARD_SYMBOL_METHOD(isConstType)
   FORWARD_SYMBOL_METHOD(getLength)
@@ -31,10 +34,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::PointerType;
-  }
 };
 
 } // namespace llvm