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