Skip to content

KaSmartCastInfo

The type has been moved to a new package. Use <strong>org.jetbrains.kotlin.analysis.api.dataflow.KaSmartCastInfo</strong> instead.

Represents smart cast information for an expression.

Properties

isStable

abstract override val isStable: Boolean

Whether the smart cast is stable.

originalType

abstract override val originalType: KaType

The original type of the expression before the smart cast was applied.

smartCastType

abstract override val smartCastType: KaType

The type with the smart cast applied.

token

abstract val token: KaLifetimeToken

The KaLifetimeToken which determines the lifetime of the lifetime owner.

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.