Skip to content

org.jetbrains.kotlin.analysis.api.platform

Types

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

A listener for events which happen during an analyze call in a write action.

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

KotlinCompositeProvider

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

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

A platform component as defined by the Platform Interface (see the README).

KotlinPlatformSettings

KotlinPlatformSettings allow the Analysis API platform to control the behavior of the Analysis API engine.

KotlinProjectMessageBusProvider

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.