KaCompilationOptions¶
@SubclassOptInRequired(markerClass = [KaImplementationDetail::class])
interface KaCompilationOptions : KaLifetimeOwner
An immutable set of options for in-memory compilation via compile.
Use createCompilationOptions to create an instance, and modify to produce a modified copy.
See also¶
Inheritors¶
Properties¶
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.
modify¶
context(session: KaSession)
fun KaCompilationOptions.modify(init: KaCompilationOptionsBuilder.() -> Unit): KaCompilationOptions
Creates a copy of these KaCompilationOptions, applying the given init modifications.
Options not explicitly overridden in init retain their original values.
Parameters
- init: A lambda that configures the
KaCompilationOptionsBuilderwith modifications to apply.
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.