1283625Sdim//===- TypedefDumper.h - llvm-pdbdump typedef dumper ---------*- C++ ----*-===// 2283625Sdim// 3283625Sdim// The LLVM Compiler Infrastructure 4283625Sdim// 5283625Sdim// This file is distributed under the University of Illinois Open Source 6283625Sdim// License. See LICENSE.TXT for details. 7283625Sdim// 8283625Sdim//===----------------------------------------------------------------------===// 9283625Sdim 10283625Sdim#ifndef LLVM_TOOLS_LLVMPDBDUMP_TYPEDEFDUMPER_H 11283625Sdim#define LLVM_TOOLS_LLVMPDBDUMP_TYPEDEFDUMPER_H 12283625Sdim 13283625Sdim#include "llvm/DebugInfo/PDB/PDBSymDumper.h" 14283625Sdim 15283625Sdimnamespace llvm { 16283625Sdim 17283625Sdimclass LinePrinter; 18283625Sdim 19283625Sdimclass TypedefDumper : public PDBSymDumper { 20283625Sdimpublic: 21283625Sdim TypedefDumper(LinePrinter &P); 22283625Sdim 23283625Sdim void start(const PDBSymbolTypeTypedef &Symbol); 24283625Sdim 25283625Sdim void dump(const PDBSymbolTypeArray &Symbol) override; 26283625Sdim void dump(const PDBSymbolTypeBuiltin &Symbol) override; 27283625Sdim void dump(const PDBSymbolTypeEnum &Symbol) override; 28283625Sdim void dump(const PDBSymbolTypeFunctionSig &Symbol) override; 29283625Sdim void dump(const PDBSymbolTypePointer &Symbol) override; 30283625Sdim void dump(const PDBSymbolTypeUDT &Symbol) override; 31283625Sdim 32283625Sdimprivate: 33283625Sdim LinePrinter &Printer; 34283625Sdim}; 35283625Sdim} 36283625Sdim 37283625Sdim#endif 38