An actual type of a pack expression at the instatiation point.
In the following example, PackType will appear around makeTuple
call site as Pack{String, Int}
:
func makeTuple<each T>(_ t: repeat each T) -> (repeat each T) { ... }
makeTuple("A", 2)
More details:
https://github.com/apple/swift-evolution/blob/main/proposals/0393-parameter-packs.md
INTERNAL: Do not reference the Generated::PackType
class directly.
Use the subclass PackType
, where the following predicates are available.
Import path
import codeql.swift.generated.type.PackType
Known direct subtypes
Predicates
getAPrimaryQlClass | Gets the name of a primary CodeQL class to which this element belongs. |
getAnElement | Gets any of the elements of this pack type. |
getElement | Gets the |
getImmediateElement | Gets the |
getNumberOfElements | Gets the number of elements of this pack type. |
Inherited predicates
getABaseType | Gets any base type of this type. Expands protocols added in extensions and expands type aliases. For example in the following code, | from Type |
getADerivedType | Gets a type derived from this type. Expands type aliases, for example in the following code, | from Type |
getCanonicalType | Gets the canonical type of this type. | from Type |
getFullName | Gets the full name of this | from Type |
getFullyUnresolved | from Element | |
getImmediateCanonicalType | Gets the canonical type of this type. | from Type |
getName | Gets the name of this type. | from Type |
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 |
getUnderlyingType | Gets this type after any type aliases have been resolved. For example in the following code, the underlying type of | from Type |
isUnknown | Holds if this element is unknown. | from Element |
resolve | Gets the element that should substitute this element in the explicit AST, applying | from Element |
toString | Gets the string representation of this element. | from Type |