blob: 6e7783325ff669b62ac2091f3d8d39c644b84974 [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
Zachary Turnera30bd1a2016-06-30 17:42:48 +000024 Error dump() override;
Zachary Turner7120a472016-06-06 20:37:05 +000025
Zachary Turnerd3117392016-06-03 19:28:33 +000026private:
Zachary Turnera30bd1a2016-06-30 17:42:48 +000027 Error dumpFileHeaders();
28 Error dumpStreamSummary();
Rui Ueyama7a5cdc62016-07-29 21:38:00 +000029 Error dumpFreePageMap();
Zachary Turnera30bd1a2016-06-30 17:42:48 +000030 Error dumpStreamBlocks();
31 Error dumpStreamData();
32 Error dumpInfoStream();
33 Error dumpNamedStream();
34 Error dumpTpiStream(uint32_t StreamIdx);
35 Error dumpDbiStream();
36 Error dumpSectionContribs();
37 Error dumpSectionMap();
38 Error dumpPublicsStream();
39 Error dumpSectionHeaders();
40 Error dumpFpoStream();
41
42 void flush();
43
Zachary Turnerd3117392016-06-03 19:28:33 +000044 PDBFile &File;
45 ScopedPrinter P;
46 codeview::CVTypeDumper TD;
47};
48}
49}
50
51#endif