[Analysis API] introduce a KotlinResolutionScopeProvider to optimize the resolutions scope in the IDE

This commit is contained in:
Ilya Kirillov
2023-02-09 22:40:21 +01:00
parent bb0ddcbeba
commit 769fb835f9
5 changed files with 50 additions and 17 deletions
@@ -39,7 +39,7 @@ import org.jetbrains.kotlin.asJava.KotlinAsJavaSupport
import org.jetbrains.kotlin.asJava.finder.JavaElementFinder
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreProjectEnvironment
import org.jetbrains.kotlin.cli.jvm.compiler.setupIdeaStandaloneExecution
import org.jetbrains.kotlin.config.*
import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.fir.declarations.SealedClassInheritorsProvider
import org.jetbrains.kotlin.fir.declarations.SealedClassInheritorsProviderImpl
import org.jetbrains.kotlin.idea.references.KotlinFirReferenceContributor
@@ -121,6 +121,7 @@ public class StandaloneAnalysisAPISessionBuilder(
registerService(KtModuleScopeProvider::class.java, KtModuleScopeProviderImpl())
registerService(KotlinAnnotationsResolverFactory::class.java, KotlinStaticAnnotationsResolverFactory(ktFiles))
registerService(KotlinResolutionScopeProvider::class.java, KotlinByModulesResolutionScopeProvider::class.java)
registerService(
KotlinDeclarationProviderFactory::class.java,
KotlinStaticDeclarationProviderFactory(