[Analysis API] optimize KotlinPackageProvider.getSubPackageFqNames

Previously, we queried heavy kotlin package provider two times which affected performance
Now it's being queries only a single time

Also, the commit introduces separation for KotlinPackageProvider between kotlin and platform-specific packages

^KTIJ-24640
This commit is contained in:
Ilya Kirillov
2023-02-24 13:50:27 +01:00
committed by Space Team
parent c940eb25b0
commit 4944b454c5
12 changed files with 177 additions and 42 deletions
@@ -130,7 +130,7 @@ public class StandaloneAnalysisAPISessionBuilder(
kotlinCoreProjectEnvironment.environment.jarFileSystem as CoreJarFileSystem
)
)
registerService(KotlinPackageProviderFactory::class.java, KotlinStaticPackageProviderFactory(ktFiles))
registerService(KotlinPackageProviderFactory::class.java, KotlinStaticPackageProviderFactory(project, ktFiles))
registerService(KtAnalysisSessionProvider::class.java, KtFirAnalysisSessionProvider(this))
registerService(
@@ -161,7 +161,7 @@ internal fun configureProjectEnvironment(
)
project.picoContainer.registerComponentInstance(
KotlinPackageProviderFactory::class.qualifiedName,
KotlinStaticPackageProviderFactory(ktFiles)
KotlinStaticPackageProviderFactory(project, ktFiles)
)
project.picoContainer.registerComponentInstance(
PackagePartProviderFactory::class.qualifiedName,