[LL API] Adjust services required by LLFirBuiltinsSessionFactory
As 'initialiseVirtualFileFinderServices()' that is run during test initialization collects transitive dependencies, all of them must be ready. However, 'KtNotUnderContentRootModuleForTest' has a built-in dependency provided by 'LLFirBuiltinsSessionFactory'.
This commit is contained in:
+6
-2
@@ -32,12 +32,16 @@ object AnalysisApiBaseTestServiceRegistrar: AnalysisApiTestServiceRegistrar() {
|
||||
|
||||
@OptIn(KtAnalysisApiInternals::class)
|
||||
override fun registerProjectServices(project: MockProject, testServices: TestServices) {
|
||||
val allKtFiles = testServices.ktModuleProvider.getModuleStructure().mainModules.flatMap { it.files.filterIsInstance<KtFile>() }
|
||||
|
||||
project.apply {
|
||||
registerService(KotlinModificationTrackerFactory::class.java, KotlinStaticModificationTrackerFactory::class.java)
|
||||
registerService(KtDefaultLifetimeTokenProvider::class.java, KtReadActionConfinementDefaultLifetimeTokenProvider::class.java)
|
||||
}
|
||||
}
|
||||
|
||||
override fun registerProjectModelServices(project: MockProject, testServices: TestServices) {
|
||||
val allKtFiles = testServices.ktModuleProvider.getModuleStructure().mainModules.flatMap { it.files.filterIsInstance<KtFile>() }
|
||||
|
||||
project.apply {
|
||||
registerService(KtModuleScopeProvider::class.java, KtModuleScopeProviderImpl())
|
||||
registerService(KotlinAnnotationsResolverFactory::class.java, KotlinStaticAnnotationsResolverFactory(allKtFiles))
|
||||
registerService(KotlinDeclarationProviderFactory::class.java, KotlinStaticDeclarationProviderFactory(project, allKtFiles))
|
||||
|
||||
+3
@@ -30,6 +30,9 @@ object AnalysisApiLibraryBaseTestServiceRegistrar : AnalysisApiTestServiceRegist
|
||||
override fun registerProjectServices(project: MockProject, testServices: TestServices) {
|
||||
}
|
||||
|
||||
override fun registerProjectModelServices(project: MockProject, testServices: TestServices) {
|
||||
}
|
||||
|
||||
override fun registerApplicationServices(application: MockApplication, testServices: TestServices) {
|
||||
application.apply {
|
||||
registerService(ClsKotlinBinaryClassCache::class.java)
|
||||
|
||||
Reference in New Issue
Block a user