[LL] Use package provider to check for existing package

KT-59793
This commit is contained in:
Pavel Kirpichenkov
2023-07-24 16:46:48 +03:00
committed by teamcity
parent 7884b5fecf
commit ef6375f627
6 changed files with 45 additions and 21 deletions
@@ -78,21 +78,27 @@ object AnalysisApiBaseTestServiceRegistrar: AnalysisApiTestServiceRegistrar() {
registerService(KotlinAnnotationsResolverFactory::class.java, KotlinStaticAnnotationsResolverFactory(allKtFiles))
val filter = BuiltInDefinitionFile.FILTER_OUT_CLASSES_EXISTING_AS_JVM_CLASS_FILES
val ktFilesForBinaries: List<KtFile>
try {
BuiltInDefinitionFile.FILTER_OUT_CLASSES_EXISTING_AS_JVM_CLASS_FILES = false
val declarationProviderFactory = KotlinStaticDeclarationProviderFactory(
project,
allKtFiles,
additionalRoots = roots,
skipBuiltins = testServices.moduleStructure.allDirectives.contains(NO_RUNTIME),
)
ktFilesForBinaries = declarationProviderFactory.getAdditionalCreatedKtFiles()
registerService(
KotlinDeclarationProviderFactory::class.java, KotlinStaticDeclarationProviderFactory(
project,
allKtFiles,
additionalRoots = roots,
skipBuiltins = testServices.moduleStructure.allDirectives.contains(NO_RUNTIME),
)
KotlinDeclarationProviderFactory::class.java, declarationProviderFactory
)
} finally {
BuiltInDefinitionFile.FILTER_OUT_CLASSES_EXISTING_AS_JVM_CLASS_FILES = filter
}
registerService(KotlinDeclarationProviderMerger::class.java, KotlinStaticDeclarationProviderMerger(project))
registerService(KotlinPackageProviderFactory::class.java, KotlinStaticPackageProviderFactory(project, allKtFiles))
registerService(
KotlinPackageProviderFactory::class.java,
KotlinStaticPackageProviderFactory(project, allKtFiles + ktFilesForBinaries)
)
registerService(KotlinResolutionScopeProvider::class.java, KotlinByModulesResolutionScopeProvider::class.java)
}
}