org.jetbrains.kotlin.analysis.api.platform.projectStructure¶
Types¶
KaBuiltinsModuleImpl¶
class KaBuiltinsModuleImpl(val targetPlatform: TargetPlatform, val project: Project) : KaBuiltinsModule, KaModuleBase
The default implementation of the builtins module.
KaContentScopeProvider¶
interface KaContentScopeProvider : KaEngineService
An engine service which must be used to calculate a KaModule's content scope lazily.
KaDanglingFileModuleImpl¶
class KaDanglingFileModuleImpl(
files: List<KtFile>,
val contextModule: KaModule,
val resolutionMode: KaDanglingFileResolutionMode
) : KaDanglingFileModule, KaModuleBase
The default implementation of the dangling file module, which provides all knowledge from the context module. Note that if you need custom behavior, you should create a custom implementation of a KaDanglingFileModule, as the Analysis API treats this implementation specially (by allowing certain performance optimizations).
KaGlobalSearchScopeMerger¶
interface KaGlobalSearchScopeMerger : KaEngineService
Merges GlobalSearchScopes according to registered KotlinGlobalSearchScopeMergeStrategy with the goal of creating an optimized and flattened combined scope.
KaModuleBase¶
abstract class KaModuleBase : KaModule
KaModuleConverter¶
interface KaModuleConverter : KotlinOptionalPlatformComponent
A service for converting KaModule to Module.
KaModulePlatformKind¶
enum class KaModulePlatformKind : Enum<KaModulePlatformKind>
The module platform kind classifies a KaModule's TargetPlatform into a single kind, determining how the Analysis API interprets the module.
KaResolutionScope¶
abstract class KaResolutionScope : GlobalSearchScope
The resolution scope for a KaModule. It determines the PSI elements that can be resolved in the context of an analysis session.
KaResolutionScopeProvider¶
interface KaResolutionScopeProvider : KaEngineService
Provides a resolution scope for the given KaModule.
KotlinActualDeclarationProvider¶
Provides actual declarations for the given expect KtDeclaration.
KotlinAnchorModuleProvider¶
KotlinAnchorModuleProvider provides modules which contain dependencies of libraries.
KotlinCompilerPluginsProvider¶
KotlinCompilerPluginsProvider provides information about registered compiler plugins.
KotlinContentScopeRefiner¶
interface KotlinContentScopeRefiner : KotlinPlatformComponent
A contributor to KaModule.contentScope.
KotlinGlobalSearchScopeMergeStrategy¶
interface KotlinGlobalSearchScopeMergeStrategy<T : Any> : KotlinPlatformComponent
KotlinGlobalSearchScopeMergeStrategy is used to declare a strategy for merging a list of GlobalSearchScopes into a single GlobalSearchScope. Is used by implementations of KaGlobalSearchScopeMerger to optimize the merging process and flatten the resulting scope.
KotlinIntersectionScopeMergeTarget¶
interface KotlinIntersectionScopeMergeTarget
A marker interface for GlobalSearchScopes that can be factored out of an intersection scope using the distributive property. This helps the intersection scope merge strategy to pick the correct targets.
KotlinModuleDependentsProvider¶
KotlinModuleDependentsProvider provides dependents for a KaModule, which are modules that depend on the KaModule.
KotlinModuleDependentsProviderBase¶
abstract class KotlinModuleDependentsProviderBase : KotlinModuleDependentsProvider
KotlinModuleInformationProvider¶
KotlinModuleInformationProvider offers additional, secondary information about KaModules.
KotlinModuleOutputProvider¶
KotlinModuleOutputProvider provides build output directories for KaModules.
KotlinProjectStructureProvider¶
interface KotlinProjectStructureProvider
KotlinProjectStructureProvider provides information about the project's structure as managed by the Analysis API platform.
KotlinProjectStructureProviderBase¶
abstract class KotlinProjectStructureProviderBase : KotlinProjectStructureProvider
Properties¶
resolveExtensionFileModule¶
var VirtualFile.resolveExtensionFileModule: KaModule?
Used by implementations of KaResolveExtensionProvider to store a reference of the KaModule for which a VirtualFile was generated.
Functions¶
computeTransitiveDependsOnDependencies¶
fun computeTransitiveDependsOnDependencies(directDependsOnDependencies: List<KaModule>): List<KaModule>
Computes the transitive dependsOn dependencies of directDependsOnDependencies. computeTransitiveDependsOnDependencies is the default computation strategy to provide KaModule.transitiveDependsOnDependencies.
toModulePlatformKind¶
fun TargetPlatform.toModulePlatformKind(): KaModulePlatformKind