[llvm-dwp] Add coverage for both the presence and absence of type units, and fix...
[oota-llvm.git] / include / llvm / DebugInfo / PDB / PDBSymbolTypeVTable.h
index 4e3aff8aaa32e4a8e3b960a0ab6f395a011165bd..6efc549f0cb76fcbb9d138248a55d28dc34202ad 100644 (file)
 
 namespace llvm {
 
+class raw_ostream;
+
 class PDBSymbolTypeVTable : public PDBSymbol {
 public:
-  PDBSymbolTypeVTable(std::unique_ptr<IPDBRawSymbol> VtblSymbol);
+  PDBSymbolTypeVTable(const IPDBSession &PDBSession,
+                      std::unique_ptr<IPDBRawSymbol> VtblSymbol);
+
+  DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::VTable)
+
+  void dump(PDBSymDumper &Dumper) const override;
 
   FORWARD_SYMBOL_METHOD(getClassParentId)
   FORWARD_SYMBOL_METHOD(isConstType)
@@ -26,10 +33,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::VTable;
-  }
 };
 
 } // namespace llvm