AA: refactor service registrations
such that AA standalone mode doesn't need to unregister services that were already registered by pre-analysis handlers
This commit is contained in:
committed by
Ilya Kirillov
parent
26e923e3ae
commit
a986aff429
+19
-3
@@ -8,10 +8,14 @@ package org.jetbrains.kotlin.light.classes.symbol.decompiled.service
|
||||
import com.intellij.mock.MockApplication
|
||||
import com.intellij.mock.MockProject
|
||||
import com.intellij.openapi.Disposable
|
||||
import com.intellij.psi.search.GlobalSearchScope
|
||||
import org.jetbrains.kotlin.analysis.api.fir.utils.libraries.binary.LibraryFrontendApiTestConfiguratorService
|
||||
import org.jetbrains.kotlin.analysis.api.impl.barebone.test.FrontendApiTestConfiguratorService
|
||||
import org.jetbrains.kotlin.analysis.api.impl.base.test.utils.libraries.CompiledLibraryProvider
|
||||
import org.jetbrains.kotlin.analysis.decompiled.light.classes.ClsJavaStubByVirtualFileCache
|
||||
import org.jetbrains.kotlin.analysis.project.structure.ProjectStructureProvider
|
||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||
import org.jetbrains.kotlin.load.kotlin.PackagePartProvider
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.services.ServiceRegistrationData
|
||||
@@ -24,8 +28,20 @@ internal object SymbolLightClassesForLibraryFrontendApiTestConfiguratorService :
|
||||
useAdditionalServices(ServiceRegistrationData(CompiledLibraryProvider::class, ::CompiledLibraryProvider))
|
||||
}
|
||||
|
||||
override fun registerProjectServices(project: MockProject) {
|
||||
LibraryFrontendApiTestConfiguratorService.registerProjectServices(project)
|
||||
override fun registerProjectServices(
|
||||
project: MockProject,
|
||||
compilerConfig: CompilerConfiguration,
|
||||
files: List<KtFile>,
|
||||
packagePartProvider: (GlobalSearchScope) -> PackagePartProvider,
|
||||
projectStructureProvider: ProjectStructureProvider
|
||||
) {
|
||||
LibraryFrontendApiTestConfiguratorService.registerProjectServices(
|
||||
project,
|
||||
compilerConfig,
|
||||
files,
|
||||
packagePartProvider,
|
||||
projectStructureProvider
|
||||
)
|
||||
project.registerService(ClsJavaStubByVirtualFileCache::class.java)
|
||||
}
|
||||
|
||||
@@ -36,4 +52,4 @@ internal object SymbolLightClassesForLibraryFrontendApiTestConfiguratorService :
|
||||
override fun doOutOfBlockModification(file: KtFile) {
|
||||
LibraryFrontendApiTestConfiguratorService.doOutOfBlockModification(file)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user