KaSmartCastInfo¶
@SubclassOptInRequired(markerClass = [KaImplementationDetail::class])
interface KaSmartCastInfo : 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¶
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¶
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.