KaEvaluator¶
@SubclassOptInRequired(markerClass = [KaSessionComponentImplementationDetail::class])
interface KaEvaluator : KaSessionComponent
Inheritors¶
Properties¶
token¶
abstract val token: KaLifetimeToken
The KaLifetimeToken which determines the lifetime of the lifetime owner.
Functions¶
assertIsValidAndAccessible¶
inline fun KaLifetimeOwner.assertIsValidAndAccessible()
evaluate¶
abstract fun KtExpression.evaluate(): KaConstantValue?
Attempts to evaluate the given KtExpression to a compile-time constant value, or returns null if this is not possible.
evaluateAsAnnotationValue¶
abstract fun KtExpression.evaluateAsAnnotationValue(): KaAnnotationValue?
Attempts to evaluate the given KtExpression to an annotation value (a constant value which can be used as an annotation argument), or returns null if this is not possible.
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.