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