Path: blob/main/contrib/llvm-project/llvm/tools/llvm-pdbutil/BytesOutputStyle.h
35260 views
//===- BytesOutputStyle.h ------------------------------------- *- C++ --*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#ifndef LLVM_TOOLS_LLVMPDBDUMP_BYTESOUTPUTSTYLE_H9#define LLVM_TOOLS_LLVMPDBDUMP_BYTESOUTPUTSTYLE_H1011#include "OutputStyle.h"12#include "StreamUtil.h"1314#include "llvm/DebugInfo/PDB/Native/LinePrinter.h"15#include "llvm/Support/Error.h"1617namespace llvm {1819namespace codeview {20class LazyRandomTypeCollection;21}2223namespace pdb {2425class PDBFile;2627class BytesOutputStyle : public OutputStyle {28public:29BytesOutputStyle(PDBFile &File);3031Error dump() override;3233private:34void dumpNameMap();35void dumpBlockRanges(uint32_t Min, uint32_t Max);36void dumpByteRanges(uint32_t Min, uint32_t Max);37void dumpFpm();38void dumpStreamBytes();3940void dumpSectionContributions();41void dumpSectionMap();42void dumpModuleInfos();43void dumpFileInfo();44void dumpTypeServerMap();45void dumpECData();4647void dumpModuleSyms();48void dumpModuleC11();49void dumpModuleC13();5051void dumpTypeIndex(uint32_t StreamIdx, ArrayRef<uint32_t> Indices);5253Expected<codeview::LazyRandomTypeCollection &>54initializeTypes(uint32_t StreamIdx);5556std::unique_ptr<codeview::LazyRandomTypeCollection> TpiTypes;57std::unique_ptr<codeview::LazyRandomTypeCollection> IpiTypes;5859PDBFile &File;60LinePrinter P;61ExitOnError Err;62SmallVector<StreamInfo, 8> StreamPurposes;63};64} // namespace pdb65} // namespace llvm6667#endif686970