KaImplicitReceiverSmartCast¶
@SubclassOptInRequired(markerClass = [KaImplementationDetail::class])
interface KaImplicitReceiverSmartCast : KaLifetimeOwner
The type has been moved to a new package. Use <strong>org.jetbrains.kotlin.analysis.api.dataflow.KaImplicitReceiverSmartCast</strong> instead.
Represents type information about an implicit receiver which has been smart-cast to a more specific type. An implicit smart cast is applied to an implicit receiver, such as substring() called on an implicit this given an earlier smart cast this is String.
Properties¶
kind¶
abstract val kind: KaImplicitReceiverSmartCastKind
The kind of implicit receiver, i.e. a dispatch or extension receiver.
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.