1 //===--- APINotesOptions.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_CLANG_APINOTES_APINOTESOPTIONS_H 10 #define LLVM_CLANG_APINOTES_APINOTESOPTIONS_H 11 12 #include "llvm/Support/VersionTuple.h" 13 #include <string> 14 #include <vector> 15 16 namespace clang { 17 18 /// Tracks various options which control how API notes are found and handled. 19 class APINotesOptions { 20 public: 21 /// The Swift version which should be used for API notes. 22 llvm::VersionTuple SwiftVersion; 23 24 /// The set of search paths where we API notes can be found for particular 25 /// modules. 26 /// 27 /// The API notes in this directory are stored as <ModuleName>.apinotes, and 28 /// are only applied when building the module <ModuleName>. 29 std::vector<std::string> ModuleSearchPaths; 30 }; 31 32 } // namespace clang 33 34 #endif // LLVM_CLANG_APINOTES_APINOTESOPTIONS_H 35