Move DIContext.h to common DebugInfo location.
[oota-llvm.git] / include / llvm / DebugInfo / PDB / PDBSymbolTypePointer.h
index 15d6c8dfe937a797135bbc049bbcae77df011d02..33578bad02458a5e139395a673b15f195f73afda 100644 (file)
@@ -19,10 +19,14 @@ class raw_ostream;
 
 class PDBSymbolTypePointer : public PDBSymbol {
 public:
-  PDBSymbolTypePointer(IPDBSession &PDBSession,
+  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)
+
+  std::unique_ptr<PDBSymbol> getPointeeType() const;
+
+  void dump(PDBSymDumper &Dumper) const override;
 
   FORWARD_SYMBOL_METHOD(isConstType)
   FORWARD_SYMBOL_METHOD(getLength)
@@ -32,10 +36,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