1//===- PrettyTypedefDumper.h - llvm-pdbutil typedef dumper ---*- C++ ----*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLVM_TOOLS_LLVMPDBDUMP_PRETTYTYPEDEFDUMPER_H
10#define LLVM_TOOLS_LLVMPDBDUMP_PRETTYTYPEDEFDUMPER_H
11
12#include "llvm/DebugInfo/PDB/PDBSymDumper.h"
13
14namespace llvm {
15namespace pdb {
16
17class LinePrinter;
18
19class TypedefDumper : public PDBSymDumper {
20public:
21  TypedefDumper(LinePrinter &P);
22
23  void start(const PDBSymbolTypeTypedef &Symbol);
24
25  void dump(const PDBSymbolTypeArray &Symbol) override;
26  void dump(const PDBSymbolTypeBuiltin &Symbol) override;
27  void dump(const PDBSymbolTypeEnum &Symbol) override;
28  void dump(const PDBSymbolTypeFunctionSig &Symbol) override;
29  void dump(const PDBSymbolTypePointer &Symbol) override;
30  void dump(const PDBSymbolTypeUDT &Symbol) override;
31
32private:
33  LinePrinter &Printer;
34};
35}
36}
37
38#endif
39