Add concrete type overloads to PDBSymbol::findChildren().
[oota-llvm.git] / include / llvm / DebugInfo / PDB / PDBSymbolPublicSymbol.h
index 5acce3232211914cebaebb257f9baf2be879b10f..b99fe16116bd57f9eacd2f48673113ba4ef8fb0b 100644 (file)
@@ -19,9 +19,12 @@ class raw_ostream;
 
 class PDBSymbolPublicSymbol : public PDBSymbol {
 public:
-  PDBSymbolPublicSymbol(std::unique_ptr<IPDBRawSymbol> PublicSymbol);
+  PDBSymbolPublicSymbol(const IPDBSession &PDBSession,
+                        std::unique_ptr<IPDBRawSymbol> PublicSymbol);
 
-  void dump(llvm::raw_ostream &OS) const override;
+  DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::PublicSymbol)
+
+  void dump(raw_ostream &OS, int Indent, PDB_DumpLevel Level) const override;
 
   FORWARD_SYMBOL_METHOD(getAddressOffset)
   FORWARD_SYMBOL_METHOD(getAddressSection)
@@ -37,10 +40,6 @@ public:
   FORWARD_SYMBOL_METHOD(getRelativeVirtualAddress)
   FORWARD_SYMBOL_METHOD(getVirtualAddress)
   FORWARD_SYMBOL_METHOD(getUndecoratedName)
-
-  static bool classof(const PDBSymbol *S) {
-    return S->getSymTag() == PDB_SymType::PublicSymbol;
-  }
 };
 
 } // namespace llvm