org.jetbrains.kotlin.analysis.api.platform¶
Types¶
KaCachedService¶
@Target(allowedTargets = [AnnotationTarget.PROPERTY, AnnotationTarget.FIELD])
annotation class KaCachedService
A property annotated with KaCachedService stores a cached IntelliJ project or application service, or an object with a reference to such a service.
KaEngineService¶
interface KaEngineService
An engine service as defined by the Platform Interface (see the README).
KaSessionListener¶
interface KaSessionListener
An extension point for platforms hosting the Kotlin Analysis API to receive callbacks on analysis session creation, entry, and exit.
KotlinAnalysisInWriteActionListener¶
interface KotlinAnalysisInWriteActionListener
A listener for events which happen during an analyze call in a write action.
KotlinComposableProvider¶
interface KotlinComposableProvider
A marker interface for a provider that can be composed, i.e. multiple instances of the same provider can be composed into a single provider.
KotlinComposableProviderMerger¶
interface KotlinComposableProviderMerger<P : KotlinComposableProvider>
KotlinCompositeProvider¶
interface KotlinCompositeProvider<P : KotlinComposableProvider> : KotlinComposableProvider
A KotlinCompositeProvider is the sequential composition of a specific kind of composable provider P.
KotlinCompositeProviderFactory¶
class KotlinCompositeProviderFactory<P : KotlinComposableProvider>(emptyProvider: P, composeProviders: (List<P>) -> P)
KotlinCompositeProviderFactory is used by various KotlinCompositeProviders to share code related to provider creation and flattening.
KotlinDeserializedDeclarationsOrigin¶
This setting controls where declarations provided by the platform come from.
KotlinMessageBusProvider¶
interface KotlinMessageBusProvider : KotlinPlatformComponent
KotlinMessageBusProvider allows Analysis API implementations to provide a custom MessageBus. When subscribing to or publishing to Analysis API topics, the message bus provided by getMessageBus should be used, not the Project's message bus.
KotlinOptionalPlatformComponent¶
An optional KotlinPlatformComponent. The Analysis API engine does not require an optional platform component to be implemented and will use sensible fallbacks or disable/avoid certain behaviors instead.
KotlinPlatformComponent¶
interface KotlinPlatformComponent
A platform component as defined by the Platform Interface (see the README).
KotlinPlatformSettings¶
interface KotlinPlatformSettings : KotlinPlatformComponent
KotlinPlatformSettings allow the Analysis API platform to control the behavior of the Analysis API engine.
KotlinProjectMessageBusProvider¶
class KotlinProjectMessageBusProvider(project: Project) : KotlinMessageBusProvider
Provides the project's MessageBus as the Analysis API message bus. This is the default implementation for both the standalone and the IDE Analysis API.
Properties¶
analysisMessageBus¶
val Project.analysisMessageBus: MessageBus
The MessageBus used to subscribe to and publish to Analysis API topics.
Functions¶
mergeSpecificProviders¶
inline fun <P : KotlinComposableProvider, reified T : P> List<P>.mergeSpecificProviders(factory: KotlinCompositeProviderFactory<P>, crossinline mergeTargets: (List<T>) -> P): P
Uses the given factory to merge all providers of type T with the given mergeTargets strategy. Other providers (not of type T) are added to the resulting composite provider unmerged.