KaNamedAnnotationValue¶
@SubclassOptInRequired(markerClass = [KaImplementationDetail::class])
interface KaNamedAnnotationValue : KaLifetimeOwner
A name/value pair representing an annotation argument.
Example¶
The annotation application @Foo(bar = "abc") has a single KaNamedAnnotationValue bar = "abc", with the name "bar" and a KaAnnotationValue.ConstantValue representing the String constant "abc".
Properties¶
expression¶
abstract val expression: KaAnnotationValue
The value of the annotation argument.
name¶
abstract val name: Name
The name of the annotation argument.
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.