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

Class Generated::PackExpansionExpr

A pack expansion expression.

In the following example, repeat each t on the second line is the pack expansion expression:

func makeTuple<each T>(_ t: repeat each T) -> (repeat each T) {
  return (repeat each t)
}

More details: https://github.com/apple/swift-evolution/blob/main/proposals/0393-parameter-packs.md INTERNAL: Do not reference the Generated::PackExpansionExpr class directly. Use the subclass PackExpansionExpr, where the following predicates are available.

Import path

import codeql.swift.generated.expr.PackExpansionExpr

Direct supertypes

Indirect supertypes

Known direct subtypes

Predicates

getAPrimaryQlClass

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

getImmediatePatternExpr

Gets the pattern expression of this pack expansion expression.

getPatternExpr

Gets the pattern expression of this pack expansion expression.

Inherited predicates

convertsFromfrom Expr
getConversionfrom Expr
getConversionfrom Expr
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
getFullyConvertedfrom Expr
getFullyUnresolvedfrom Element
getImmediateType

Gets the type of this expression, if it exists.

from Expr
getLocation

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

from Locatable
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 Expr
getType

Gets the type of this expression, if it exists.

from Expr
getUnconvertedfrom Expr
hasConversionsfrom Expr
hasLocation

Holds if getLocation() exists.

from Locatable
hasType

Holds if getType() exists.

from Expr
isConversionfrom Expr
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
toStringImpl

INTERNAL: Do not use.

from Element