//===--- Availability.h - Classes for availability --------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This files defines some classes that implement availability checking. // //===----------------------------------------------------------------------===// #ifndef LLVM_CLANG_AST_AVAILABILITY_H #define LLVM_CLANG_AST_AVAILABILITY_H #include "clang/Basic/SourceLocation.h" #include "llvm/ADT/SmallString.h" #include "llvm/ADT/StringRef.h" #include "llvm/Support/VersionTuple.h" namespace clang { /// One specifier in an @available expression. /// /// \code /// @available(macos 10.10, *) /// \endcode /// /// Here, 'macos 10.10' and '*' both map to an instance of this type. /// class AvailabilitySpec { … }; class Decl; /// Storage of availability attributes for a declaration. struct AvailabilityInfo { … }; inline bool operator==(const AvailabilityInfo &Lhs, const AvailabilityInfo &Rhs) { … } } // end namespace clang #endif