Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:36:27

0001 //===-- APINotesYAMLCompiler.h - API Notes YAML Format Reader ---*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 
0009 #ifndef LLVM_CLANG_APINOTES_APINOTESYAMLCOMPILER_H
0010 #define LLVM_CLANG_APINOTES_APINOTESYAMLCOMPILER_H
0011 
0012 #include "llvm/ADT/StringRef.h"
0013 #include "llvm/Support/SourceMgr.h"
0014 #include "llvm/Support/raw_ostream.h"
0015 
0016 namespace clang {
0017 class FileEntry;
0018 } // namespace clang
0019 
0020 namespace clang {
0021 namespace api_notes {
0022 /// Parses the APINotes YAML content and writes the representation back to the
0023 /// specified stream.  This provides a means of testing the YAML processing of
0024 /// the APINotes format.
0025 bool parseAndDumpAPINotes(llvm::StringRef YI, llvm::raw_ostream &OS);
0026 
0027 /// Converts API notes from YAML format to binary format.
0028 bool compileAPINotes(llvm::StringRef YAMLInput, const FileEntry *SourceFile,
0029                      llvm::raw_ostream &OS,
0030                      llvm::SourceMgr::DiagHandlerTy DiagHandler = nullptr,
0031                      void *DiagHandlerCtxt = nullptr);
0032 } // namespace api_notes
0033 } // namespace clang
0034 
0035 #endif