brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · cd28032 Raw
69 lines · c
1//===- BytesOutputStyle.h ------------------------------------- *- C++ --*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef LLVM_TOOLS_LLVMPDBDUMP_BYTESOUTPUTSTYLE_H10#define LLVM_TOOLS_LLVMPDBDUMP_BYTESOUTPUTSTYLE_H11 12#include "OutputStyle.h"13#include "StreamUtil.h"14 15#include "llvm/DebugInfo/PDB/Native/LinePrinter.h"16#include "llvm/Support/Error.h"17 18namespace llvm {19 20namespace codeview {21class LazyRandomTypeCollection;22}23 24namespace pdb {25 26class PDBFile;27 28class BytesOutputStyle : public OutputStyle {29public:30  BytesOutputStyle(PDBFile &File);31 32  Error dump() override;33 34private:35  void dumpNameMap();36  void dumpBlockRanges(uint32_t Min, uint32_t Max);37  void dumpByteRanges(uint32_t Min, uint32_t Max);38  void dumpFpm();39  void dumpStreamBytes();40 41  void dumpSectionContributions();42  void dumpSectionMap();43  void dumpModuleInfos();44  void dumpFileInfo();45  void dumpTypeServerMap();46  void dumpECData();47 48  void dumpModuleSyms();49  void dumpModuleC11();50  void dumpModuleC13();51 52  void dumpTypeIndex(uint32_t StreamIdx, ArrayRef<uint32_t> Indices);53 54  Expected<codeview::LazyRandomTypeCollection &>55  initializeTypes(uint32_t StreamIdx);56 57  std::unique_ptr<codeview::LazyRandomTypeCollection> TpiTypes;58  std::unique_ptr<codeview::LazyRandomTypeCollection> IpiTypes;59 60  PDBFile &File;61  LinePrinter P;62  ExitOnError Err;63  SmallVector<StreamInfo, 8> StreamPurposes;64};65} // namespace pdb66} // namespace llvm67 68#endif69