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