1 //===- LLVMOutputStyle.h -------------------------------------- *- 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_LLVMOUTPUTSTYLE_H 11 #define LLVM_TOOLS_LLVMPDBDUMP_LLVMOUTPUTSTYLE_H 12 13 #include "OutputStyle.h" 14 15 #include "llvm/DebugInfo/CodeView/TypeDumper.h" 16 #include "llvm/Support/ScopedPrinter.h" 17 18 namespace llvm { 19 namespace pdb { 20 class LLVMOutputStyle : public OutputStyle { 21 public: 22 LLVMOutputStyle(PDBFile &File); 23 24 Error dump() override; 25 26 private: 27 Error dumpFileHeaders(); 28 Error dumpStreamSummary(); 29 Error dumpStreamBlocks(); 30 Error dumpStreamData(); 31 Error dumpInfoStream(); 32 Error dumpNamedStream(); 33 Error dumpTpiStream(uint32_t StreamIdx); 34 Error dumpDbiStream(); 35 Error dumpSectionContribs(); 36 Error dumpSectionMap(); 37 Error dumpPublicsStream(); 38 Error dumpSectionHeaders(); 39 Error dumpFpoStream(); 40 41 void flush(); 42 43 PDBFile &File; 44 ScopedPrinter P; 45 codeview::CVTypeDumper TD; 46 }; 47 } 48 } 49 50 #endif 51