1de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar//===- LLVMOutputStyle.h -------------------------------------- *- C++ --*-===// 2de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// 3de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// The LLVM Compiler Infrastructure 4de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// 5de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// This file is distributed under the University of Illinois Open Source 6de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// License. See LICENSE.TXT for details. 7de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// 8de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar//===----------------------------------------------------------------------===// 9de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar 10de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar#ifndef LLVM_TOOLS_LLVMPDBDUMP_LLVMOUTPUTSTYLE_H 11de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar#define LLVM_TOOLS_LLVMPDBDUMP_LLVMOUTPUTSTYLE_H 12de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar 13de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar#include "OutputStyle.h" 14de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar 15de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar#include "llvm/DebugInfo/CodeView/TypeDumper.h" 16de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar#include "llvm/Support/ScopedPrinter.h" 17de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar 18de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarnamespace llvm { 19de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarnamespace pdb { 20de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarclass LLVMOutputStyle : public OutputStyle { 21de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarpublic: 22de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar LLVMOutputStyle(PDBFile &File); 23de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar 24de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar Error dump() override; 25de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar 26de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarprivate: 27de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar Error dumpFileHeaders(); 28de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar Error dumpStreamSummary(); 29de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar Error dumpStreamBlocks(); 30de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar Error dumpStreamData(); 31de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar Error dumpInfoStream(); 32de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar Error dumpNamedStream(); 33de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar Error dumpTpiStream(uint32_t StreamIdx); 34de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar Error dumpDbiStream(); 35de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar Error dumpSectionContribs(); 36de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar Error dumpSectionMap(); 37de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar Error dumpPublicsStream(); 38de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar Error dumpSectionHeaders(); 39de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar Error dumpFpoStream(); 40de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar 41de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar void flush(); 42de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar 43de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar PDBFile &File; 44de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar ScopedPrinter P; 45de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar codeview::CVTypeDumper TD; 46de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar}; 47de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar} 48de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar} 49de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar 50de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar#endif 51