KaExtensionApplicabilityResult¶
sealed class KaExtensionApplicabilityResult : KaLifetimeOwner
Represents the result of checking the applicability of an extension callable in a specific context.
Inheritors¶
Types¶
Applicable¶
sealed class Applicable : KaExtensionApplicabilityResult
ApplicableAsExtensionCallable¶
class ApplicableAsExtensionCallable(
substitutor: KaSubstitutor,
receiverCastRequired: Boolean,
val token: KaLifetimeToken
) : KaExtensionApplicabilityResult.Applicable
ApplicableAsFunctionalVariableCall¶
class ApplicableAsFunctionalVariableCall(
substitutor: KaSubstitutor,
receiverCastRequired: Boolean,
val token: KaLifetimeToken
) : KaExtensionApplicabilityResult.Applicable
NonApplicable¶
class NonApplicable(val token: KaLifetimeToken) : KaExtensionApplicabilityResult
Properties¶
token¶
abstract val token: KaLifetimeToken
The KaLifetimeToken which determines the lifetime of the lifetime owner.
Functions¶
assertIsValidAndAccessible¶
inline fun KaLifetimeOwner.assertIsValidAndAccessible()
isValid¶
fun KaLifetimeOwner.isValid(): Boolean
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.