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

Class Impl::GenericFunctionType

The type of a generic function with type parameters

Import path

import codeql.swift.elements.type.internal.GenericFunctionTypeImpl

Direct supertypes

Indirect supertypes

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, B has base type A:

from Type
getADerivedType

Gets a type derived from this type. Expands type aliases, for example in the following code, B derives from type A.

from Type
getAGenericParam

Gets any of the type parameters of this generic type.

from GenericFunctionType
getAParamType

Gets any of the parameter types of this function type.

from AnyFunctionType
getAPrimaryQlClass

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

from GenericFunctionType
getCanonicalType

Gets the canonical type of this type.

from Type
getFullName

Gets the full name of this Type. For example in: swift struct A { struct B { // ... } } The name and full name of A is A. The name of B is B, but the full name of B is A.B.

from Type
getFullyUnresolvedfrom Element
getGenericParam

Gets the indexth type parameter of this generic type (0-based).

from GenericFunctionType
getImmediateCanonicalType

Gets the canonical type of this type.

from Type
getImmediateGenericParam

Gets the indexth type parameter of this generic type (0-based).

from GenericFunctionType
getImmediateParamType

Gets the indexth parameter type of this function type (0-based).

from AnyFunctionType
getImmediateResult

Gets the result of this function type.

from AnyFunctionType
getName

Gets the name of this type.

from Type
getNumberOfGenericParams

Gets the number of type parameters of this generic type.

from GenericFunctionType
getNumberOfParamTypes

Gets the number of parameter types of this function type.

from AnyFunctionType
getParamType

Gets the indexth parameter type of this function type (0-based).

from AnyFunctionType
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
getResult

Gets the result of this function type.

from AnyFunctionType
getUnderlyingType

Gets this type after any type aliases have been resolved. For example in the following code, the underlying type of MyInt is Int: typealias MyInt = Int

from Type
isAsync

Holds if this type refers to an async function.

from AnyFunctionType
isThrowing

Holds if this type refers to a throwing function.

from AnyFunctionType
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 Type