diff options
Diffstat (limited to 'tools/llvm-pdbdump/VariableDumper.h')
-rw-r--r-- | tools/llvm-pdbdump/VariableDumper.h | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/tools/llvm-pdbdump/VariableDumper.h b/tools/llvm-pdbdump/VariableDumper.h index e6e71fa..db8d8ea 100644 --- a/tools/llvm-pdbdump/VariableDumper.h +++ b/tools/llvm-pdbdump/VariableDumper.h @@ -15,28 +15,26 @@ namespace llvm { +class LinePrinter; + class VariableDumper : public PDBSymDumper { public: - VariableDumper(); - - void start(const PDBSymbolData &Var, raw_ostream &OS, int Indent); - - void dump(const PDBSymbolTypeBuiltin &Symbol, raw_ostream &OS, - int Indent) override; - void dump(const PDBSymbolTypeEnum &Symbol, raw_ostream &OS, - int Indent) override; - void dump(const PDBSymbolTypeFunctionSig &Symbol, raw_ostream &OS, - int Indent) override; - void dump(const PDBSymbolTypePointer &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; + VariableDumper(LinePrinter &P); + + void start(const PDBSymbolData &Var); + + void dump(const PDBSymbolTypeBuiltin &Symbol) override; + void dump(const PDBSymbolTypeEnum &Symbol) override; + void dump(const PDBSymbolTypeFunctionSig &Symbol) override; + void dump(const PDBSymbolTypePointer &Symbol) override; + void dump(const PDBSymbolTypeTypedef &Symbol) override; + void dump(const PDBSymbolTypeUDT &Symbol) override; private: - void dumpSymbolTypeAndName(const PDBSymbol &Type, StringRef Name, - raw_ostream &OS); + void dumpSymbolTypeAndName(const PDBSymbol &Type, StringRef Name); + bool tryDumpFunctionPointer(const PDBSymbol &Type, StringRef Name); + + LinePrinter &Printer; }; } |