Skip to content

ClassLiteralValue

A class literal annotation value, such as String::class or Array<String>::class.

Properties

classId

abstract val classId: ClassId?

The referenced ClassId, if available.

The property is useful for error handling, as KaClassErrorType currently does not provide a ClassId.

sourcePsi

abstract val sourcePsi: KtElement?

The KtElement underlying the annotation value. This is only defined for annotations in source files. For libraries, it is always null.

token

abstract val token: KaLifetimeToken

The KaLifetimeToken which determines the lifetime of the lifetime owner.

type

abstract val type: KaType

The KaType of the class reference, such as String for the String::class reference.

Functions

assertIsValidAndAccessible

isValid

Whether the lifetime owner is still valid, i.e. we are still in the scope of the lifetime owner's regular lifetime.

renderAsSourceCode

Renders the annotation value as valid Kotlin source code.

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.