diff --git a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt index 8f81bb1707c..2a7dcdb716c 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt @@ -88,6 +88,7 @@ class ResolverForProjectImpl( private val firstDependency: M? = null, private val modulePlatforms: (M) -> MultiTargetPlatform?, private val packageOracleFactory: PackageOracleFactory = PackageOracleFactory.OptimisticFactory, + private val languageSettingsProvider: LanguageSettingsProvider = LanguageSettingsProvider.Default, private val invalidateOnOOCB: Boolean = true ) : ResolverForProject() { @@ -148,6 +149,7 @@ class ResolverForProjectImpl( analyzerFacade(module).createResolverForModule( module, descriptor as ModuleDescriptorImpl, projectContext.withModule(descriptor), modulesContent(module), platformParameters, targetEnvironment, this@ResolverForProjectImpl, + languageSettingsProvider, packagePartProviderFactory(module, modulesContent(module))) } } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/common/DefaultAnalyzerFacade.kt b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/common/DefaultAnalyzerFacade.kt index d6472c498d2..9a722d8178d 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/common/DefaultAnalyzerFacade.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/common/DefaultAnalyzerFacade.kt @@ -20,7 +20,9 @@ import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import com.intellij.psi.search.GlobalSearchScope import org.jetbrains.kotlin.analyzer.* -import org.jetbrains.kotlin.config.* +import org.jetbrains.kotlin.config.LanguageFeature +import org.jetbrains.kotlin.config.LanguageVersionSettings +import org.jetbrains.kotlin.config.TargetPlatformVersion import org.jetbrains.kotlin.container.StorageComponentContainer import org.jetbrains.kotlin.container.get import org.jetbrains.kotlin.container.useImpl @@ -78,7 +80,7 @@ object DefaultAnalyzerFacade : AnalyzerFacade() { ProjectContext(project), listOf(moduleInfo), { DefaultAnalyzerFacade }, { ModuleContent(files, GlobalSearchScope.allScope(project)) }, object : PlatformAnalysisParameters {}, - object : LanguageSettingsProvider { + languageSettingsProvider = object : LanguageSettingsProvider { override fun getLanguageVersionSettings(moduleInfo: ModuleInfo, project: Project) = multiplatformLanguageSettings override fun getTargetPlatform(moduleInfo: ModuleInfo) = TargetPlatformVersion.NoVersion }, diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/ModuleDependencyMapper.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/ModuleDependencyMapper.kt index 8c4c62e946e..c7c2d397c8d 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/ModuleDependencyMapper.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/ModuleDependencyMapper.kt @@ -78,12 +78,12 @@ fun createModuleResolverProvider( debugName, globalContext.withProject(project), modulesToCreateResolversFor, { module -> AnalyzerFacadeProvider.getAnalyzerFacade(module.platform ?: analysisSettings.platform) }, modulesContent, jvmPlatformParameters, - IDELanguageSettingsProvider, - IdeaEnvironment, builtIns, + IdeaEnvironment, builtIns, delegateResolver, { _, c -> IDEPackagePartProvider(c.moduleContentScope) }, analysisSettings.sdk?.let { SdkInfo(project, it) }, modulePlatforms = { module -> module.platform?.multiTargetPlatform }, packageOracleFactory = project.service(), + languageSettingsProvider = IDELanguageSettingsProvider, invalidateOnOOCB = invalidateOnOOCB )