1//===- TypeSymbolEmitter.h --------------------------------------*- 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_DEBUGINFO_CODEVIEW_TYPESYMBOLEMITTER_H
10#define LLVM_DEBUGINFO_CODEVIEW_TYPESYMBOLEMITTER_H
11
12namespace llvm {
13class StringRef;
14
15namespace codeview {
16class TypeIndex;
17
18class TypeSymbolEmitter {
19private:
20  TypeSymbolEmitter(const TypeSymbolEmitter &) = delete;
21  TypeSymbolEmitter &operator=(const TypeSymbolEmitter &) = delete;
22
23protected:
24  TypeSymbolEmitter() {}
25
26public:
27  virtual ~TypeSymbolEmitter() {}
28
29public:
30  virtual void writeUserDefinedType(TypeIndex TI, StringRef Name) = 0;
31};
32}
33}
34
35#endif
36