LLVMOutputStyle.h revision de2d8694e25a814696358e95141f4b1aa4d8847e
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 18namespace llvm { 19namespace pdb { 20class LLVMOutputStyle : public OutputStyle { 21public: 22 LLVMOutputStyle(PDBFile &File); 23 24 Error dump() override; 25 26private: 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