Skip to content

KaTypeArgumentWithVariance

Represents a type argument with an explicit type and variance.

Properties

token

abstract val token: KaLifetimeToken

The KaLifetimeToken which determines the lifetime of the lifetime owner.

type

abstract override val type: KaType

The projected type.

variance

abstract val variance: Variance

The Variance of the type argument. It can be:

  • OUT_VARIANCE: The type argument is used as a covariant, out type parameter.

  • IN_VARIANCE: The type argument is used as a contravariant, in type parameter.

  • INVARIANT: The type argument is used as an invariant type parameter.

Functions

assertIsValidAndAccessible

isValid

Whether the lifetime owner is still valid, i.e. we are still in the scope of the lifetime owner's regular lifetime.

withValidityAssertion

inline fun <R> KaLifetimeOwner.withValidityAssertion(action: () -> R): R

Executes action only if the KaLifetimeOwner is still valid and accessible. Otherwise, throws a validity exception based on the concrete violation.