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"
15 #include "StreamUtil.h"
17 #include "llvm/Support/Error.h"
22 class LazyRandomTypeCollection
;
29 class BytesOutputStyle
: public OutputStyle
{
31 BytesOutputStyle(PDBFile
&File
);
33 Error
dump() override
;
37 void dumpBlockRanges(uint32_t Min
, uint32_t Max
);
38 void dumpByteRanges(uint32_t Min
, uint32_t Max
);
40 void dumpStreamBytes();
42 void dumpSectionContributions();
43 void dumpSectionMap();
44 void dumpModuleInfos();
46 void dumpTypeServerMap();
49 void dumpModuleSyms();
53 void dumpTypeIndex(uint32_t StreamIdx
, ArrayRef
<uint32_t> Indices
);
55 Expected
<codeview::LazyRandomTypeCollection
&>
56 initializeTypes(uint32_t StreamIdx
);
58 std::unique_ptr
<codeview::LazyRandomTypeCollection
> TpiTypes
;
59 std::unique_ptr
<codeview::LazyRandomTypeCollection
> IpiTypes
;
64 SmallVector
<StreamInfo
, 8> StreamPurposes
;