blob: 9fcfb6e986e0d0a4928ebdbd0b0e5da92b1fc884 [file] [log] [blame]
Zachary Turnerd3117392016-06-03 19:28:33 +00001//===- 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 dumpFileHeaders() override;
25 Error dumpStreamSummary() override;
26 Error dumpStreamBlocks() override;
27 Error dumpStreamData() override;
28 Error dumpInfoStream() override;
29 Error dumpNamedStream() override;
30 Error dumpTpiStream(uint32_t StreamIdx) override;
31 Error dumpDbiStream() override;
32 Error dumpSectionContribs() override;
33 Error dumpSectionMap() override;
34 Error dumpPublicsStream() override;
35 Error dumpSectionHeaders() override;
Rui Ueyamaef2b4882016-06-06 18:39:21 +000036 Error dumpFpoStream() override;
Zachary Turnerd3117392016-06-03 19:28:33 +000037
Zachary Turner7120a472016-06-06 20:37:05 +000038 void flush() override;
39
Zachary Turnerd3117392016-06-03 19:28:33 +000040private:
41 PDBFile &File;
42 ScopedPrinter P;
43 codeview::CVTypeDumper TD;
44};
45}
46}
47
48#endif