KaContractOwnerParameterValue¶
@SubclassOptInRequired(markerClass = [KaImplementationDetail::class])
interface KaContractOwnerParameterValue : KaContractParameterValue
Represents an owner of the corresponding contract owner. Example:
sealed class Result {
class Success : Result()
class Failure : Result()
fun isFailure(): Boolean {
contract {
returns() implies (this is Failure)
}
return this is Failure
}
}
this is represented by this value.
Properties¶
symbol¶
abstract override val symbol: KaClassSymbol
A symbol to which this parameter points.
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.