[AA] Make KotlinReferenceProvidersService and KotlinReferenceProviderContributor a project services
There is no need to have those services on application level
This commit is contained in:
+4
-9
@@ -94,13 +94,6 @@ public class StandaloneAnalysisAPISessionBuilder(
|
||||
)
|
||||
}
|
||||
|
||||
private fun registerApplicationServices() {
|
||||
kotlinCoreProjectEnvironment.environment.application.apply {
|
||||
registerService(KotlinReferenceProvidersService::class.java, HLApiReferenceProviderService::class.java)
|
||||
registerService(KotlinReferenceProviderContributor::class.java, KotlinFirReferenceContributor::class.java)
|
||||
}
|
||||
}
|
||||
|
||||
public fun <T : Any> registerApplicationService(serviceInterface: Class<T>, serviceImplementation: T) {
|
||||
kotlinCoreProjectEnvironment.environment.application.apply {
|
||||
registerService(serviceInterface, serviceImplementation)
|
||||
@@ -140,6 +133,10 @@ public class StandaloneAnalysisAPISessionBuilder(
|
||||
registerService(LLFirBuiltinsSessionFactory::class.java, LLFirBuiltinsSessionFactory(this))
|
||||
RegisterComponentService.registerLLFirLibrarySessionFactory(this)
|
||||
RegisterComponentService.registerLLFirNonUnderContentRootSessionFactory(this)
|
||||
|
||||
registerService(KotlinReferenceProvidersService::class.java, HLApiReferenceProviderService::class.java)
|
||||
registerService(KotlinReferenceProviderContributor::class.java, KotlinFirReferenceContributor::class.java)
|
||||
|
||||
RegisterComponentService.registerLLFirResolveSessionService(this)
|
||||
registerService(
|
||||
PackagePartProviderFactory::class.java,
|
||||
@@ -203,8 +200,6 @@ public class StandaloneAnalysisAPISessionBuilder(
|
||||
allSourceFiles,
|
||||
)
|
||||
|
||||
registerApplicationServices()
|
||||
|
||||
val project = kotlinCoreProjectEnvironment.project
|
||||
val ktFiles = allSourceFiles.filterIsInstance<KtFile>()
|
||||
val libraryRoots = StandaloneProjectFactory.getAllBinaryRoots(modules, kotlinCoreProjectEnvironment)
|
||||
|
||||
+12
@@ -79,6 +79,8 @@ public fun configureApplicationEnvironment(app: MockApplication) {
|
||||
* * [KotlinDeclarationProviderFactory]
|
||||
* * [KotlinPackageProviderFactory]
|
||||
* * [PackagePartProviderFactory]
|
||||
* * [KotlinReferenceProvidersService]
|
||||
* * [KotlinReferenceProviderContributor]
|
||||
*
|
||||
* Note that [ProjectStructureProvider] is built by using
|
||||
* * given [ktFiles] as Kotlin sources
|
||||
@@ -122,6 +124,16 @@ internal fun configureProjectEnvironment(
|
||||
KotlinStaticAnnotationsResolverFactory(ktFiles)
|
||||
)
|
||||
|
||||
project.registerService(
|
||||
KotlinReferenceProvidersService::class.java,
|
||||
HLApiReferenceProviderService::class.java
|
||||
)
|
||||
|
||||
project.registerService(
|
||||
KotlinReferenceProviderContributor::class.java,
|
||||
KotlinFirReferenceContributor::class.java
|
||||
)
|
||||
|
||||
RegisterComponentService.registerLLFirResolveSessionService(project)
|
||||
project.picoContainer.registerComponentInstance(
|
||||
FirSealedClassInheritorsProcessorFactory::class.qualifiedName,
|
||||
|
||||
Reference in New Issue
Block a user