diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/JvmAnalyzerFacade.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/JvmAnalyzerFacade.kt index 74612955fc4..244a231c505 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/JvmAnalyzerFacade.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/JvmAnalyzerFacade.kt @@ -18,6 +18,8 @@ package org.jetbrains.kotlin.resolve.jvm import org.jetbrains.kotlin.analyzer.* import org.jetbrains.kotlin.config.JvmTarget +import org.jetbrains.kotlin.config.LanguageVersionSettings +import org.jetbrains.kotlin.config.TargetPlatformVersion import org.jetbrains.kotlin.container.get import org.jetbrains.kotlin.context.ModuleContext import org.jetbrains.kotlin.descriptors.PackagePartProvider @@ -49,7 +51,8 @@ object JvmAnalyzerFacade : ResolverForModuleFactory() { platformParameters: PlatformAnalysisParameters, targetEnvironment: TargetEnvironment, resolverForProject: ResolverForProject, - languageSettingsProvider: LanguageSettingsProvider, + languageVersionSettings: LanguageVersionSettings, + targetPlatformVersion: TargetPlatformVersion, packagePartProvider: PackagePartProvider ): ResolverForModule { val (moduleInfo, syntheticFiles, moduleContentScope) = moduleContent @@ -79,9 +82,7 @@ object JvmAnalyzerFacade : ResolverForModuleFactory() { resolverForModule.componentProvider.get() } - val jvmTarget = languageSettingsProvider.getTargetPlatform(moduleInfo) as? JvmTarget ?: JvmTarget.JVM_1_6 - val languageVersionSettings = languageSettingsProvider.getLanguageVersionSettings(moduleInfo, project) - + val jvmTarget = targetPlatformVersion as? JvmTarget ?: JvmTarget.JVM_1_6 val trace = CodeAnalyzerInitializer.getInstance(project).createTrace() val lookupTracker = LookupTracker.DO_NOTHING diff --git a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt index 293d58b24e8..78ba492a991 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt @@ -174,6 +174,9 @@ class ResolverForProjectImpl( val packagePartProvider = packagePartProviderFactory(moduleContent) val resolverForModuleFactory = resolverForModuleFactoryByPlatform(module.platform) + val languageVersionSettings = languageSettingsProvider.getLanguageVersionSettings(module, projectContext.project) + val targetPlatformVersion = languageSettingsProvider.getTargetPlatform(module) + resolverForModuleFactory.createResolverForModule( descriptor as ModuleDescriptorImpl, projectContext.withModule(descriptor), @@ -181,7 +184,8 @@ class ResolverForProjectImpl( platformParameters, targetEnvironment, this@ResolverForProjectImpl, - languageSettingsProvider, + languageVersionSettings, + targetPlatformVersion, packagePartProvider ) } @@ -298,7 +302,8 @@ abstract class ResolverForModuleFactory { platformParameters: PlatformAnalysisParameters, targetEnvironment: TargetEnvironment, resolverForProject: ResolverForProject, - languageSettingsProvider: LanguageSettingsProvider, + languageVersionSettings: LanguageVersionSettings, + targetPlatformVersion: TargetPlatformVersion, packagePartProvider: PackagePartProvider ): ResolverForModule diff --git a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/common/CommonAnalyzerFacade.kt b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/common/CommonAnalyzerFacade.kt index 2e554688cd8..3eecea8228e 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/common/CommonAnalyzerFacade.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/common/CommonAnalyzerFacade.kt @@ -106,7 +106,8 @@ object CommonAnalyzerFacade : ResolverForModuleFactory() { platformParameters: PlatformAnalysisParameters, targetEnvironment: TargetEnvironment, resolverForProject: ResolverForProject, - languageSettingsProvider: LanguageSettingsProvider, + languageVersionSettings: LanguageVersionSettings, + targetPlatformVersion: TargetPlatformVersion, packagePartProvider: PackagePartProvider ): ResolverForModule { val (moduleInfo, syntheticFiles, moduleContentScope) = moduleContent @@ -120,7 +121,7 @@ object CommonAnalyzerFacade : ResolverForModuleFactory() { val trace = CodeAnalyzerInitializer.getInstance(project).createTrace() val container = createContainerToResolveCommonCode( moduleContext, trace, declarationProviderFactory, moduleContentScope, targetEnvironment, packagePartProvider, - languageSettingsProvider.getLanguageVersionSettings(moduleInfo, project) + languageVersionSettings ) val packageFragmentProviders = listOf( diff --git a/idea/ide-common/src/org/jetbrains/kotlin/caches/resolve/JsAnalyzerFacade.kt b/idea/ide-common/src/org/jetbrains/kotlin/caches/resolve/JsAnalyzerFacade.kt index 6a547d09941..5db1e7409b8 100644 --- a/idea/ide-common/src/org/jetbrains/kotlin/caches/resolve/JsAnalyzerFacade.kt +++ b/idea/ide-common/src/org/jetbrains/kotlin/caches/resolve/JsAnalyzerFacade.kt @@ -18,6 +18,7 @@ package org.jetbrains.kotlin.idea.caches.resolve import org.jetbrains.kotlin.analyzer.* import org.jetbrains.kotlin.caches.project.LibraryModuleInfo +import org.jetbrains.kotlin.config.LanguageVersionSettings import org.jetbrains.kotlin.config.TargetPlatformVersion import org.jetbrains.kotlin.container.get import org.jetbrains.kotlin.context.ModuleContext @@ -45,7 +46,8 @@ object JsAnalyzerFacade : ResolverForModuleFactory() { platformParameters: PlatformAnalysisParameters, targetEnvironment: TargetEnvironment, resolverForProject: ResolverForProject, - languageSettingsProvider: LanguageSettingsProvider, + languageVersionSettings: LanguageVersionSettings, + targetPlatformVersion: TargetPlatformVersion, packagePartProvider: PackagePartProvider ): ResolverForModule { val (moduleInfo, syntheticFiles, moduleContentScope) = moduleContent @@ -65,7 +67,7 @@ object JsAnalyzerFacade : ResolverForModuleFactory() { JsPlatform, TargetPlatformVersion.NoVersion, targetEnvironment, - languageSettingsProvider.getLanguageVersionSettings(moduleInfo, project) + languageVersionSettings ) var packageFragmentProvider = container.get().packageFragmentProvider