blob: eab03a2a830125d4ff9af6d96c7ee44ee45a03af [file] [log] [blame]
Yi Kong83283012023-12-13 12:57:00 +09001//===-- APINotesWriter.h - API Notes Writer ---------------------*- 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_CLANG_APINOTES_WRITER_H
10#define LLVM_CLANG_APINOTES_WRITER_H
11
12#include "llvm/ADT/StringRef.h"
13#include "llvm/Support/raw_ostream.h"
14
15#include <memory>
16
17namespace clang {
18class FileEntry;
19
20namespace api_notes {
21class APINotesWriter {
22 class Implementation;
23 std::unique_ptr<Implementation> Implementation;
24
25public:
26 APINotesWriter(llvm::StringRef ModuleName, const FileEntry *SF);
27 ~APINotesWriter();
28
29 APINotesWriter(const APINotesWriter &) = delete;
30 APINotesWriter &operator=(const APINotesWriter &) = delete;
31
32 void writeToStream(llvm::raw_ostream &OS);
33};
34} // namespace api_notes
35} // namespace clang
36
37#endif