ContextFunctionTypeParams

@Target(allowedTargets = [AnnotationTarget.TYPE])
annotation class ContextFunctionTypeParams(val count: Int)(source)

Signifies that the annotated functional type has the prefix of size count for context receivers. Thus, @ContextFunctionTypeParams(2) @ExtensionFunctionType Function4<String, Int, Double, Byte, Unit> is a normalized representation of context(String, Int) Double.(Byte) -> Unit.

Just the same as @ExtensionFunctionType, this annotation is not assumed to be used in source code, preferring the explicit function type syntax, like in the example above.

There's no need in any additional opt-in limitations because this annotation might only be referenced by users who turned on an experimental -Xcontext-receivers compiler flag, for which there are no backward/forward compatibilities guarantees.

Since Kotlin

1.7

Properties

Link copied to clipboard
val count: Int
Since Kotlin 1.7