KaImplicitReceiver¶
@SubclassOptInRequired(markerClass = [KaImplementationDetail::class])
interface KaImplicitReceiver : KaScopeImplicitReceiverValue
Represents an implicit receiver available in a particular context.
Properties¶
label¶
A label for the implicit receiver, if any.
If not null, this@$label can be used to refer to the implicit receiver.
Will be null if shadowed by another receiver with the same label at a lower index in the scope tower.
ownerSymbol¶
abstract override val ownerSymbol: KaSymbol
The implicit value owner.
scopeIndexInTower¶
abstract override val scopeIndexInTower: Int
The index of the scope in the scope tower where the implicit value is declared.
token¶
abstract val token: KaLifetimeToken
The KaLifetimeToken which determines the lifetime of the lifetime owner.
type¶
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.