13#ifndef LLVM_CLANG_AST_AVAILABILITY_H
14#define LLVM_CLANG_AST_AVAILABILITY_H
17#include "llvm/ADT/SmallString.h"
18#include "llvm/ADT/StringRef.h"
19#include "llvm/Support/VersionTuple.h"
45 : Version(Version), Platform(Platform), BeginLoc(BeginLoc),
50 : BeginLoc(StarLoc), EndLoc(StarLoc) {}
105 VersionTuple O,
bool U,
bool UD,
bool UU)
Defines the clang::SourceLocation class and associated facilities.
One specifier in an @available expression.
bool isOtherPlatformSpec() const
Returns true when this represents the '*' case.
AvailabilitySpec(VersionTuple Version, StringRef Platform, SourceLocation BeginLoc, SourceLocation EndLoc)
StringRef getPlatform() const
AvailabilitySpec(SourceLocation StarLoc)
This constructor is used when representing the '*' case.
SourceLocation getBeginLoc() const
VersionTuple getVersion() const
SourceLocation getEndLoc() const
Decl - This represents one declaration (or definition), e.g.
Encodes a location in the source.
The JSON file list parser is used to communicate input to InstallAPI.
bool operator==(const CallGraphNode::CallRecord &LHS, const CallGraphNode::CallRecord &RHS)
@ Other
Other implicit parameter.
Storage of availability attributes for a declaration.
bool isUnconditionallyDeprecated() const
Check if the symbol is unconditionally deprecated.
llvm::SmallString< 32 > Domain
The domain is the platform for which this availability info applies to.
AvailabilityInfo()=default
bool isDefault() const
Determine if this AvailabilityInfo represents the default availability.
void mergeWith(AvailabilityInfo Other)
Augments the existing information with additional constraints provided by Other.
bool UnconditionallyDeprecated
bool isUnavailable() const
Check if the symbol is unavailable unconditionally or on the active platform and os version.
bool isObsoleted() const
Check if the symbol has been obsoleted.
friend bool operator==(const AvailabilityInfo &Lhs, const AvailabilityInfo &Rhs)
static AvailabilityInfo createFromDecl(const Decl *Decl)
AvailabilityInfo(StringRef Domain, VersionTuple I, VersionTuple D, VersionTuple O, bool U, bool UD, bool UU)
bool UnconditionallyUnavailable
bool isUnconditionallyUnavailable() const
Check if the symbol is unconditionally unavailable.