1 //===- LLVMOutputStyle.h -------------------------------------- *- C++ --*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLVM_TOOLS_LLVMPDBDUMP_LLVMOUTPUTSTYLE_H
11 #define LLVM_TOOLS_LLVMPDBDUMP_LLVMOUTPUTSTYLE_H
13 #include "OutputStyle.h"
15 #include "llvm/DebugInfo/CodeView/TypeDatabase.h"
16 #include "llvm/Support/ScopedPrinter.h"
21 class LLVMOutputStyle : public OutputStyle {
23 LLVMOutputStyle(PDBFile &File);
25 Error dump() override;
28 void discoverStreamPurposes();
30 Error dumpFileHeaders();
31 Error dumpStreamSummary();
32 Error dumpFreePageMap();
33 Error dumpBlockRanges();
34 Error dumpGlobalsStream();
35 Error dumpStreamBytes();
36 Error dumpStreamBlocks();
37 Error dumpInfoStream();
38 Error dumpTpiStream(uint32_t StreamIdx);
39 Error dumpDbiStream();
40 Error dumpSectionContribs();
41 Error dumpSectionMap();
42 Error dumpPublicsStream();
43 Error dumpSectionHeaders();
44 Error dumpFpoStream();
46 void dumpBitVector(StringRef Name, const BitVector &V);
52 codeview::TypeDatabase TypeDB;
53 std::vector<std::string> StreamPurposes;