CodeQL library for Swift
codeql/swift-all 6.2.1-dev (changelog, source)
Search

Class Impl::AvailabilityInfo

An availability condition of an if, while, or guard statements.

Examples:

if #available(iOS 12, *) {
  // Runs on iOS 12 and above
} else {
  // Runs only anything below iOS 12
}
if #unavailable(macOS 10.14, *) {
  // Runs only on macOS 10 and below
}

Import path

import codeql.swift.elements.internal.AvailabilityInfoImpl

Direct supertypes

Indirect supertypes

Predicates

toStringImpl

INTERNAL: Do not use.

Inherited predicates

getAPrimaryQlClass

Gets the name of a primary CodeQL class to which this element belongs.

from AvailabilityInfo
getASpec

Gets any of the specs of this availability info.

from AvailabilityInfo
getEnclosingCallable

Gets the nearest Callable that contains this AST node, if any. This includes (auto)closures, functions, methods, (de)initializers, and accessors.

from AstNode
getEnclosingDecl

Gets the nearest declaration that contains this AST node, if any.

from AstNode
getEnclosingFunction

Gets the nearest function definition that contains this AST node, if any. This includes functions, methods, (de)initializers, and accessors, but not closures.

from AstNode
getFile

Gets the primary file where this element occurs.

from Locatable
getFullyUnresolvedfrom Element
getLocation

Gets the location associated with this element in the code, if it exists.

from Locatable
getNumberOfSpecs

Gets the number of specs of this availability info.

from AvailabilityInfo
getPrimaryQlClasses

Gets a comma-separated list of the names of the primary CodeQL classes to which this element belongs.

from Element
getResolveStep

Gets the most immediate element that should substitute this element in the explicit AST, if any. Classes can override this to indicate this node should be in the “hidden” AST, mostly reserved for conversions and syntactic sugar nodes like parentheses.

from Element
getSpec

Gets the indexth spec of this availability info (0-based).

from AvailabilityInfo
hasLocation

Holds if getLocation() exists.

from Locatable
isUnavailable

Holds if it is #unavailable as opposed to #available.

from AvailabilityInfo
isUnknown

Holds if this element is unknown.

from Element
resolve

Gets the element that should substitute this element in the explicit AST, applying getResolveStep transitively.

from Element
toString

Gets the string representation of this element.

from Element