diff --git a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt index d343b0e566f..249ac3bc775 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt @@ -85,7 +85,7 @@ class ResolverForProjectImpl( private val debugName: String, private val projectContext: ProjectContext, modules: Collection, - private val resolverForModuleFactory: (M) -> ResolverForModuleFactory, + private val resolverForModuleFactoryByPlatform: (TargetPlatform?) -> ResolverForModuleFactory, private val modulesContent: (M) -> ModuleContent, private val platformParameters: PlatformAnalysisParameters, private val targetEnvironment: TargetEnvironment = CompilerEnvironment, @@ -170,7 +170,7 @@ class ResolverForProjectImpl( ResolverForModuleComputationTracker.getInstance(projectContext.project)?.onResolverComputed(module) - resolverForModuleFactory(module).createResolverForModule( + resolverForModuleFactoryByPlatform(module.platform).createResolverForModule( module, descriptor as ModuleDescriptorImpl, projectContext.withModule(descriptor), modulesContent(module), platformParameters, targetEnvironment, this@ResolverForProjectImpl, languageSettingsProvider, 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 55addb101e3..50219939d99 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/common/CommonAnalyzerFacade.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/common/CommonAnalyzerFacade.kt @@ -80,7 +80,7 @@ object CommonAnalyzerFacade : ResolverForModuleFactory() { "sources for metadata serializer", ProjectContext(project), listOf(moduleInfo), - resolverForModuleFactory = { CommonAnalyzerFacade }, + resolverForModuleFactoryByPlatform = { CommonAnalyzerFacade }, modulesContent = { ModuleContent(files, GlobalSearchScope.allScope(project)) }, platformParameters = object : PlatformAnalysisParameters {}, languageSettingsProvider = object : LanguageSettingsProvider { diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/resolve/lazy/lazyResolveTestUtils.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/resolve/lazy/lazyResolveTestUtils.kt index 2f0eb3faf91..dc6a84c60c5 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/resolve/lazy/lazyResolveTestUtils.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/resolve/lazy/lazyResolveTestUtils.kt @@ -38,7 +38,8 @@ fun createResolveSessionForFiles( val testModule = TestModule(addBuiltIns) val resolverForProject = ResolverForProjectImpl( "test", - projectContext, listOf(testModule), { JvmAnalyzerFacade }, + projectContext, listOf(testModule), + { JvmAnalyzerFacade }, { ModuleContent(syntheticFiles, GlobalSearchScope.allScope(project)) }, JvmPlatformParameters { testModule }, modulePlatforms = { JvmPlatform.multiTargetPlatform } diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/ProjectResolutionFacade.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/ProjectResolutionFacade.kt index 1eebd68c5e5..7c07dafce8a 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/ProjectResolutionFacade.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/ProjectResolutionFacade.kt @@ -123,8 +123,8 @@ internal class ProjectResolutionFacade( resolverDebugName, globalContext.withProject(project), modulesToCreateResolversFor, - { module -> - val platform = module.platform ?: settings.platform + { modulePlatform -> + val platform = modulePlatform ?: settings.platform IdePlatformSupport.facades[platform] ?: throw UnsupportedOperationException("Unsupported platform $platform") }, modulesContentFactory,