1 //===- FunctionDumper.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_FUNCTIONDUMPER_H
11 #define LLVM_TOOLS_LLVMPDBDUMP_FUNCTIONDUMPER_H
13 #include "llvm/DebugInfo/PDB/PDBSymDumper.h"
17 class FunctionDumper : public PDBSymDumper {
21 enum class PointerType { None, Pointer, Reference };
23 void start(const PDBSymbolTypeFunctionSig &Symbol, PointerType Pointer,
25 void start(const PDBSymbolFunc &Symbol, PointerType Pointer, raw_ostream &OS,
28 void dump(const PDBSymbolTypeArray &Symbol, raw_ostream &OS,
30 void dump(const PDBSymbolTypeBuiltin &Symbol, raw_ostream &OS,
32 void dump(const PDBSymbolTypeEnum &Symbol, raw_ostream &OS,
34 void dump(const PDBSymbolTypeFunctionArg &Symbol, raw_ostream &OS,
36 void dump(const PDBSymbolTypePointer &Symbol, raw_ostream &OS,
38 void dump(const PDBSymbolTypeTypedef &Symbol, raw_ostream &OS,
40 void dump(const PDBSymbolTypeUDT &Symbol, raw_ostream &OS,