[Orc] Include <system_error> in OrcTargetClient.
[oota-llvm.git] / tools / llvm-pdbdump / ClassDefinitionDumper.h
index f82d9760bcc640bd6d59aa9e8eefdaf8c15681f4..5b48ba879cf7beece61b90e9f63d46211598f190 100644 (file)
 
 namespace llvm {
 
+class LinePrinter;
+
 class ClassDefinitionDumper : public PDBSymDumper {
 public:
-  ClassDefinitionDumper();
+  ClassDefinitionDumper(LinePrinter &P);
 
-  void start(const PDBSymbolTypeUDT &Exe, raw_ostream &OS, int Indent);
+  void start(const PDBSymbolTypeUDT &Exe);
 
-  void dump(const PDBSymbolTypeBaseClass &Symbol, raw_ostream &OS,
-            int Indent) override;
-  void dump(const PDBSymbolData &Symbol, raw_ostream &OS, int Indent) override;
-  void dump(const PDBSymbolTypeEnum &Symbol, raw_ostream &OS,
-            int Indent) override;
-  void dump(const PDBSymbolFunc &Symbol, raw_ostream &OS, int Indent) override;
-  void dump(const PDBSymbolTypeTypedef &Symbol, raw_ostream &OS,
-            int Indent) override;
-  void dump(const PDBSymbolTypeUDT &Symbol, raw_ostream &OS,
-            int Indent) override;
-  void dump(const PDBSymbolTypeVTable &Symbol, raw_ostream &OS,
-            int Indent) override;
+  void dump(const PDBSymbolTypeBaseClass &Symbol) override;
+  void dump(const PDBSymbolData &Symbol) override;
+  void dump(const PDBSymbolTypeEnum &Symbol) override;
+  void dump(const PDBSymbolFunc &Symbol) override;
+  void dump(const PDBSymbolTypeTypedef &Symbol) override;
+  void dump(const PDBSymbolTypeUDT &Symbol) override;
+  void dump(const PDBSymbolTypeVTable &Symbol) override;
 
 private:
+  LinePrinter &Printer;
+
   struct SymbolGroup {
     SymbolGroup() {}
     SymbolGroup(SymbolGroup &&Other) {
@@ -54,10 +53,9 @@ private:
     SymbolGroup(const SymbolGroup &other) = delete;
     SymbolGroup &operator=(const SymbolGroup &other) = delete;
   };
-  typedef std::unordered_map<PDB_MemberAccess, SymbolGroup> SymbolGroupByAccess;
+  typedef std::unordered_map<int, SymbolGroup> SymbolGroupByAccess;
 
-  int dumpAccessGroup(PDB_MemberAccess Access, const SymbolGroup &Group,
-                      raw_ostream &OS, int Indent);
+  int dumpAccessGroup(PDB_MemberAccess Access, const SymbolGroup &Group);
 };
 }