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