Skip to content

KaExplicitReceiverValue

An explicit receiver value.

Example

"".length    // explicit receiver `""`

Properties

expression

abstract val expression: KtExpression

The KtExpression of the explicit receiver.

isSafeNavigation

abstract val isSafeNavigation: Boolean

Whether safe navigation is used on this receiver.

Example

fun test(s1: String?, s2: String) {
  s1?.length // The explicit receiver `s1` has `isSafeNavigation = true`
  s2.length  // The explicit receiver `s2` has `isSafeNavigation = false`
}

token

abstract val token: KaLifetimeToken

The KaLifetimeToken which determines the lifetime of the lifetime owner.

type

abstract val type: KaType

The inferred KaType of the receiver. This is a smart-casted type in the case of a smart cast on the receiver.

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.