Skip to content

KotlinPackageProviderMerger

KotlinPackageProviderMerger allows merging multiple KotlinPackageProviders into a more efficient package provider.

Package providers should not be naively merged by combining scopes and calling createPackageProvider, because there may be additional package providers which do not operate based on scopes (e.g. resolve extension package providers).

The provider merger should consider merging scopes with KaGlobalSearchScopeMerger if there is a useful implementation provided by the platform.

Types

Companion

object Companion

Functions

merge

Merges the given providers into a single provider. When possible, mergers will try to create a provider that is more efficient compared to the naive sequential composite provider. Not all providers might be mergeable, or there might be multiple separate sets of providers that can be merged individually, so the resulting provider may be a composite provider.