[FIR] Change order of IC symbol provider and dependency symbol provider

This is semantically incorrect, but current behavior leads to problems
  in FIR bootstrap due to incorrect setup of IC provider. So this ordering
  change is a workaround for now
This commit is contained in:
Dmitriy Novozhilov
2021-05-18 18:03:03 +03:00
committed by TeamCityServer
parent 7d5fa2830d
commit 38fe917141
@@ -9,7 +9,6 @@ import com.intellij.openapi.project.Project
import com.intellij.psi.PsiElementFinder
import com.intellij.psi.search.GlobalSearchScope
import org.jetbrains.annotations.TestOnly
import org.jetbrains.kotlin.analyzer.common.CommonPlatformAnalyzerServices
import org.jetbrains.kotlin.config.LanguageVersionSettings
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
import org.jetbrains.kotlin.fir.*
@@ -119,9 +118,9 @@ object FirSessionFactory {
this,
listOfNotNull(
firProvider.symbolProvider,
symbolProviderForBinariesFromIncrementalCompilation,
JavaSymbolProvider(this, moduleData, project, scope),
FirDependenciesSymbolProviderImpl(this)
FirDependenciesSymbolProviderImpl(this),
symbolProviderForBinariesFromIncrementalCompilation,
)
)
)
@@ -158,7 +157,7 @@ object FirSessionFactory {
val kotlinScopeProvider = FirKotlinScopeProvider(::wrapScopeWithJvmMapped)
val deserializedJvmSymbolsProvider = makeDeserializedJvmSymbolsProvider(
val deserializedProviderForIncrementalCompilation = makeDeserializedJvmSymbolsProvider(
librarySession = this,
moduleDataProvider,
project,
@@ -177,7 +176,7 @@ object FirSessionFactory {
val symbolProvider = FirCompositeSymbolProvider(
this,
listOf(
deserializedJvmSymbolsProvider,
deserializedProviderForIncrementalCompilation,
FirBuiltinSymbolProvider(this, builtinsModuleData, kotlinScopeProvider),
FirCloneableSymbolProvider(this, builtinsModuleData, kotlinScopeProvider),
javaSymbolProvider, // TODO: looks like it can be removed