1 //===- PrettyTypeDumper.h - PDBSymDumper implementation for types *- C++ *-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifndef LLVM_TOOLS_LLVMPDBDUMP_PRETTYTYPEDUMPER_H 11 #define LLVM_TOOLS_LLVMPDBDUMP_PRETTYTYPEDUMPER_H 12 13 #include "llvm/DebugInfo/PDB/PDBSymDumper.h" 14 15 namespace llvm { 16 namespace pdb { 17 class LinePrinter; 18 class ClassLayout; 19 20 class TypeDumper : public PDBSymDumper { 21 public: 22 TypeDumper(LinePrinter &P); 23 24 void start(const PDBSymbolExe &Exe); 25 26 void dump(const PDBSymbolTypeEnum &Symbol) override; 27 void dump(const PDBSymbolTypeTypedef &Symbol) override; 28 29 void dumpClassLayout(const ClassLayout &Class); 30 31 private: 32 LinePrinter &Printer; 33 }; 34 } 35 } 36 #endif 37