1 //===- BytesOutputStyle.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_BYTESOUTPUTSTYLE_H
11 #define LLVM_TOOLS_LLVMPDBDUMP_BYTESOUTPUTSTYLE_H
13 #include "LinePrinter.h"
14 #include "OutputStyle.h"
16 #include "llvm/Support/Error.h"
21 class LazyRandomTypeCollection;
28 class BytesOutputStyle : public OutputStyle {
30 BytesOutputStyle(PDBFile &File);
32 Error dump() override;
36 void dumpBlockRanges(uint32_t Min, uint32_t Max);
37 void dumpByteRanges(uint32_t Min, uint32_t Max);
38 void dumpStreamBytes();
40 void dumpSectionContributions();
41 void dumpSectionMap();
42 void dumpModuleInfos();
44 void dumpTypeServerMap();
47 void dumpModuleSyms();
51 void dumpTypeIndex(uint32_t StreamIdx, ArrayRef<uint32_t> Indices);
53 Expected<codeview::LazyRandomTypeCollection &>
54 initializeTypes(uint32_t StreamIdx);
56 std::unique_ptr<codeview::LazyRandomTypeCollection> TpiTypes;
57 std::unique_ptr<codeview::LazyRandomTypeCollection> IpiTypes;
62 SmallVector<std::string, 8> StreamPurposes;