Path: blob/main/contrib/llvm-project/llvm/tools/llvm-pdbutil/PrettyFunctionDumper.h
35260 views
//===- PrettyFunctionDumper.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_PRETTYFUNCTIONDUMPER_H9#define LLVM_TOOLS_LLVMPDBDUMP_PRETTYFUNCTIONDUMPER_H1011#include "llvm/DebugInfo/PDB/PDBSymDumper.h"1213namespace llvm {14namespace pdb {15class LinePrinter;1617class FunctionDumper : public PDBSymDumper {18public:19FunctionDumper(LinePrinter &P);2021enum class PointerType { None, Pointer, Reference };2223void start(const PDBSymbolTypeFunctionSig &Symbol, const char *Name,24PointerType Pointer);25void start(const PDBSymbolFunc &Symbol, PointerType Pointer);2627void dump(const PDBSymbolTypeArray &Symbol) override;28void dump(const PDBSymbolTypeBuiltin &Symbol) override;29void dump(const PDBSymbolTypeEnum &Symbol) override;30void dump(const PDBSymbolTypeFunctionArg &Symbol) override;31void dump(const PDBSymbolTypePointer &Symbol) override;32void dump(const PDBSymbolTypeTypedef &Symbol) override;33void dump(const PDBSymbolTypeUDT &Symbol) override;3435private:36LinePrinter &Printer;37};38}39}4041#endif424344