llvm-pdbdump: Add more comprehensive dumping of symbol types.
[oota-llvm.git] / include / llvm / DebugInfo / PDB / PDBSymbolTypeArray.h
index 19a5a4311d77ddb2f85b193f93801d2c673b7269..42d0f39341ba679bb2f4d0547f92e35b0993e9af 100644 (file)
@@ -19,9 +19,12 @@ class raw_ostream;
 
 class PDBSymbolTypeArray : public PDBSymbol {
 public:
-  PDBSymbolTypeArray(std::unique_ptr<IPDBRawSymbol> ArrayTypeSymbol);
+  PDBSymbolTypeArray(const IPDBSession &PDBSession,
+                     std::unique_ptr<IPDBRawSymbol> ArrayTypeSymbol);
 
-  void dump(llvm::raw_ostream &OS) const override;
+  DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::ArrayType)
+
+  void dump(raw_ostream &OS, int Indent, PDB_DumpLevel Level) const override;
 
   FORWARD_SYMBOL_METHOD(getArrayIndexTypeId)
   FORWARD_SYMBOL_METHOD(isConstType)
@@ -33,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::ArrayType;
-  }
 };
 
 } // namespace llvm