blob: 3bdef34c48f819861d20fe6159ab14ef3147950b [file] [log] [blame]
Zachary Turnera9054dd2017-01-11 00:35:43 +00001//===- PrettyBuiltinDumper.h ---------------------------------- *- C++ --*-===//
Zachary Turneraa57c0a2015-02-26 23:51:49 +00002//
Chandler Carruth2946cd72019-01-19 08:50:56 +00003// 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
Zachary Turneraa57c0a2015-02-26 23:51:49 +00006//
7//===----------------------------------------------------------------------===//
8
Zachary Turnera9054dd2017-01-11 00:35:43 +00009#ifndef LLVM_TOOLS_LLVMPDBDUMP_PRETTYBUILTINDUMPER_H
10#define LLVM_TOOLS_LLVMPDBDUMP_PRETTYBUILTINDUMPER_H
Zachary Turneraa57c0a2015-02-26 23:51:49 +000011
Zachary Turner0a43efe2016-04-25 17:38:08 +000012#include "llvm/ADT/StringRef.h"
Zachary Turneraa57c0a2015-02-26 23:51:49 +000013#include "llvm/DebugInfo/PDB/PDBSymDumper.h"
14
15namespace llvm {
Zachary Turnerec28fc32016-05-04 20:32:13 +000016namespace pdb {
Zachary Turneraa57c0a2015-02-26 23:51:49 +000017
Zachary Turner2d11c202015-02-27 09:15:59 +000018class LinePrinter;
19
Zachary Turneraa57c0a2015-02-26 23:51:49 +000020class BuiltinDumper : public PDBSymDumper {
21public:
Zachary Turner2d11c202015-02-27 09:15:59 +000022 BuiltinDumper(LinePrinter &P);
Zachary Turneraa57c0a2015-02-26 23:51:49 +000023
Zachary Turnerb52d08d2015-03-01 06:51:29 +000024 void start(const PDBSymbolTypeBuiltin &Symbol);
Zachary Turner2d11c202015-02-27 09:15:59 +000025
26private:
Rui Ueyamaf4acad32015-11-03 20:16:18 +000027 StringRef getTypeName(const PDBSymbolTypeBuiltin &Symbol);
28
Zachary Turner2d11c202015-02-27 09:15:59 +000029 LinePrinter &Printer;
Zachary Turneraa57c0a2015-02-26 23:51:49 +000030};
31}
Zachary Turnerec28fc32016-05-04 20:32:13 +000032}
Zachary Turneraa57c0a2015-02-26 23:51:49 +000033
34#endif