diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/analyzer/common/CommonResolverForModuleFactory.kt b/compiler/cli/cli-common/src/org/jetbrains/kotlin/analyzer/common/CommonResolverForModuleFactory.kt index 920bcf89807..d7a3d2a306c 100644 --- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/analyzer/common/CommonResolverForModuleFactory.kt +++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/analyzer/common/CommonResolverForModuleFactory.kt @@ -35,7 +35,6 @@ import org.jetbrains.kotlin.frontend.di.configureModule import org.jetbrains.kotlin.frontend.di.configureStandardResolveComponents import org.jetbrains.kotlin.load.kotlin.MetadataFinderFactory import org.jetbrains.kotlin.name.Name -import org.jetbrains.kotlin.platform.CommonPlatforms import org.jetbrains.kotlin.platform.TargetPlatform import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.resolve.* @@ -66,19 +65,17 @@ class CommonResolverForModuleFactory( override val capabilities: Map, Any?>, private val dependencies: Iterable, override val expectedBy: List, + override val platform: TargetPlatform, private val modulesWhoseInternalsAreVisible: Collection, private val dependOnOldBuiltIns: Boolean ) : ModuleInfo { - override fun dependencies() = listOf(this, *dependencies.toList().toTypedArray() ) + override fun dependencies() = listOf(this, *dependencies.toList().toTypedArray()) override fun modulesWhoseInternalsAreVisible(): Collection = modulesWhoseInternalsAreVisible override fun dependencyOnBuiltIns(): ModuleInfo.DependencyOnBuiltIns = if (dependOnOldBuiltIns) ModuleInfo.DependencyOnBuiltIns.LAST else ModuleInfo.DependencyOnBuiltIns.NONE - override val platform: TargetPlatform - get() = CommonPlatforms.defaultCommonPlatform - override val analyzerServices: PlatformDependentAnalyzerServices get() = CommonPlatformAnalyzerServices } @@ -98,11 +95,11 @@ class CommonResolverForModuleFactory( moduleInfo ) - val metadataPartProvider = (platformParameters as CommonAnalysisParameters).metadataPartProviderFactory(moduleContent) + val metadataPartProvider = platformParameters.metadataPartProviderFactory(moduleContent) val trace = CodeAnalyzerInitializer.getInstance(project).createTrace() val container = createContainerToResolveCommonCode( moduleContext, trace, declarationProviderFactory, moduleContentScope, targetEnvironment, metadataPartProvider, - languageVersionSettings, CommonPlatforms.defaultCommonPlatform, CommonPlatformAnalyzerServices, shouldCheckExpectActual + languageVersionSettings, targetPlatform, CommonPlatformAnalyzerServices, shouldCheckExpectActual ) val packageFragmentProviders = @@ -119,6 +116,7 @@ class CommonResolverForModuleFactory( companion object { fun analyzeFiles( files: Collection, moduleName: Name, dependOnBuiltIns: Boolean, languageVersionSettings: LanguageVersionSettings, + targetPlatform: TargetPlatform, capabilities: Map, Any?> = emptyMap(), dependenciesContainer: CommonDependenciesContainer? = null, metadataPartProviderFactory: (ModuleContent) -> MetadataPartProvider @@ -128,6 +126,7 @@ class CommonResolverForModuleFactory( capabilities, dependenciesContainer?.moduleInfos?.toList().orEmpty(), dependenciesContainer?.refinesModuleInfos.orEmpty(), + targetPlatform, dependenciesContainer?.friendModuleInfos.orEmpty(), dependOnBuiltIns ) @@ -142,7 +141,7 @@ class CommonResolverForModuleFactory( val resolverForModuleFactory = CommonResolverForModuleFactory( CommonAnalysisParameters(metadataPartProviderFactory), CompilerEnvironment, - CommonPlatforms.defaultCommonPlatform, + targetPlatform, shouldCheckExpectActual = false, dependenciesContainer ) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/metadata/CommonAnalysis.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/metadata/CommonAnalysis.kt index f6a04f5763a..f8f7aebebb2 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/metadata/CommonAnalysis.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/metadata/CommonAnalysis.kt @@ -14,6 +14,7 @@ import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment import org.jetbrains.kotlin.config.CommonConfigurationKeys import org.jetbrains.kotlin.config.languageVersionSettings import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.platform.CommonPlatforms import java.io.File internal val KotlinCoreEnvironment.destDir: File? @@ -49,6 +50,7 @@ private fun runCommonAnalysis( analyzer.analyzeAndReport(files) { CommonResolverForModuleFactory.analyzeFiles( files, moduleName, dependOnBuiltins, configuration.languageVersionSettings, + CommonPlatforms.defaultCommonPlatform, dependenciesContainer = dependencyContainer ) { content -> environment.createPackagePartProvider(content.moduleContentScope) @@ -56,4 +58,4 @@ private fun runCommonAnalysis( } return analyzer -} \ No newline at end of file +} diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsTest.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsTest.kt index 5a1da2b51ae..997e0a02573 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsTest.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsTest.kt @@ -47,6 +47,7 @@ import org.jetbrains.kotlin.load.java.lazy.SingleModuleClassResolver import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.SpecialNames +import org.jetbrains.kotlin.platform.CommonPlatforms import org.jetbrains.kotlin.platform.isCommon import org.jetbrains.kotlin.platform.jvm.JvmPlatforms import org.jetbrains.kotlin.psi.KtFile @@ -447,6 +448,7 @@ abstract class AbstractDiagnosticsTest : BaseDiagnosticsTest() { if (platform.isCommon()) { return CommonResolverForModuleFactory.analyzeFiles( files, moduleDescriptor.name, true, languageVersionSettings, + CommonPlatforms.defaultCommonPlatform, mapOf( MODULE_FILES to files ) diff --git a/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/AbstractCommonizationFromSourcesTest.kt b/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/AbstractCommonizationFromSourcesTest.kt index 1cacff4cca5..0bbf9c5dc85 100644 --- a/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/AbstractCommonizationFromSourcesTest.kt +++ b/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/AbstractCommonizationFromSourcesTest.kt @@ -17,6 +17,7 @@ import org.jetbrains.kotlin.descriptors.commonizer.utils.assertIsDirectory import org.jetbrains.kotlin.descriptors.commonizer.utils.assertModulesAreEqual import org.jetbrains.kotlin.descriptors.commonizer.utils.assertValidModule import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.platform.CommonPlatforms import org.jetbrains.kotlin.psi.KtPsiFactory import org.jetbrains.kotlin.test.KotlinTestUtils.* import org.jetbrains.kotlin.test.testFramework.KtUsefulTestCase @@ -123,7 +124,8 @@ abstract class AbstractCommonizationFromSourcesTest : KtUsefulTestCase() { files = psiFiles, moduleName = environment.moduleName, dependOnBuiltIns = true, - languageVersionSettings = environment.configuration.languageVersionSettings + languageVersionSettings = environment.configuration.languageVersionSettings, + targetPlatform = CommonPlatforms.defaultCommonPlatform ) { content -> environment.createPackagePartProvider(content.moduleContentScope) }.moduleDescriptor