Path: blob/main/contrib/llvm-project/llvm/tools/llvm-pdbutil/PrettyVariableDumper.h
35260 views
//===- PrettyVariableDumper.h - PDBSymDumper variable dumper ----*- 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_PRETTYVARIABLEDUMPER_H9#define LLVM_TOOLS_LLVMPDBDUMP_PRETTYVARIABLEDUMPER_H1011#include "llvm/DebugInfo/PDB/PDBSymDumper.h"1213namespace llvm {1415class StringRef;1617namespace pdb {1819class LinePrinter;2021class VariableDumper : public PDBSymDumper {22public:23VariableDumper(LinePrinter &P);2425void start(const PDBSymbolData &Var, uint32_t Offset = 0);26void start(const PDBSymbolTypeVTable &Var, uint32_t Offset = 0);27void startVbptr(uint32_t Offset, uint32_t Size);2829void dump(const PDBSymbolTypeArray &Symbol) override;30void dump(const PDBSymbolTypeBuiltin &Symbol) override;31void dump(const PDBSymbolTypeEnum &Symbol) override;32void dump(const PDBSymbolTypeFunctionSig &Symbol) override;33void dump(const PDBSymbolTypePointer &Symbol) override;34void dump(const PDBSymbolTypeTypedef &Symbol) override;35void dump(const PDBSymbolTypeUDT &Symbol) override;3637void dumpRight(const PDBSymbolTypeArray &Symbol) override;38void dumpRight(const PDBSymbolTypeFunctionSig &Symbol) override;39void dumpRight(const PDBSymbolTypePointer &Symbol) override;4041private:42void dumpSymbolTypeAndName(const PDBSymbol &Type, StringRef Name);4344LinePrinter &Printer;45};46}47}48#endif495051