diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticsSmokeTest.kt b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticsSmokeTest.kt index 524c127335d..adda35d6cea 100644 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticsSmokeTest.kt +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticsSmokeTest.kt @@ -132,17 +132,7 @@ abstract class AbstractFirDiagnosticsSmokeTest : BaseDiagnosticsTest() { private val builtInsModuleInfo = BuiltInModuleInfo(Name.special("")) protected open fun createModule(moduleName: String): TestModuleInfo { - val nameSuffix = moduleName.substringAfterLast("-", "").toUpperCase() - @Suppress("UNUSED_VARIABLE") - val platform = - when { - nameSuffix.isEmpty() -> null // TODO(dsavvinov): this leads to 'null'-platform in ModuleDescriptor - nameSuffix == "COMMON" -> CommonPlatforms.defaultCommonPlatform - nameSuffix == "JVM" -> JvmPlatforms.unspecifiedJvmPlatform // TODO(dsavvinov): determine JvmTarget precisely - nameSuffix == "JS" -> JsPlatforms.defaultJsPlatform - nameSuffix == "NATIVE" -> KonanPlatforms.defaultKonanPlatform - else -> throw IllegalStateException("Can't determine platform by name $nameSuffix") - } + parseModulePlatformByName(moduleName) return TestModuleInfo(Name.special("<$moduleName>")) } 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 c1375b9fd97..9e622c4b2a0 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsTest.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsTest.kt @@ -589,16 +589,7 @@ abstract class AbstractDiagnosticsTest : BaseDiagnosticsTest() { emptyList() protected open fun createModule(moduleName: String, storageManager: StorageManager): ModuleDescriptorImpl { - val nameSuffix = moduleName.substringAfterLast("-", "").toUpperCase() - val platform = - when { - nameSuffix.isEmpty() -> null // TODO(dsavvinov): this leads to 'null'-platform in ModuleDescriptor - nameSuffix == "COMMON" -> CommonPlatforms.defaultCommonPlatform - nameSuffix == "JVM" -> JvmPlatforms.unspecifiedJvmPlatform // TODO(dsavvinov): determine JvmTarget precisely - nameSuffix == "JS" -> JsPlatforms.defaultJsPlatform - nameSuffix == "NATIVE" -> KonanPlatforms.defaultKonanPlatform - else -> throw IllegalStateException("Can't determine platform by name $nameSuffix") - } + val platform = parseModulePlatformByName(moduleName) val builtIns = JvmBuiltIns(storageManager, JvmBuiltIns.Kind.FROM_CLASS_LOADER) return ModuleDescriptorImpl(Name.special("<$moduleName>"), storageManager, builtIns, platform) } diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt index 16414726051..38031c01f1a 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt @@ -42,15 +42,20 @@ import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl import org.jetbrains.kotlin.diagnostics.* import org.jetbrains.kotlin.load.java.InternalFlexibleTypeTransformer import org.jetbrains.kotlin.name.FqName +import org.jetbrains.kotlin.platform.CommonPlatforms import org.jetbrains.kotlin.psi.KtDeclaration import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.platform.TargetPlatform +import org.jetbrains.kotlin.platform.js.JsPlatforms +import org.jetbrains.kotlin.platform.jvm.JvmPlatforms +import org.jetbrains.kotlin.platform.konan.KonanPlatforms import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowValueFactoryImpl import org.jetbrains.kotlin.test.KotlinTestUtils import org.jetbrains.kotlin.utils.addIfNotNull import org.junit.Assert import java.io.File +import java.lang.IllegalStateException import java.util.* import java.util.regex.Pattern import kotlin.reflect.jvm.javaField @@ -473,4 +478,17 @@ abstract class BaseDiagnosticsTest : KotlinMultiFileTestWithJava) = directiveMap[JVM_TARGET]?.let { JvmTarget.fromString(it) } + + protected fun parseModulePlatformByName(moduleName: String): TargetPlatform? { + val nameSuffix = moduleName.substringAfterLast("-", "").toUpperCase() + return when { + nameSuffix == "COMMON" -> CommonPlatforms.defaultCommonPlatform + nameSuffix == "JVM" -> JvmPlatforms.unspecifiedJvmPlatform // TODO(dsavvinov): determine JvmTarget precisely + nameSuffix == "JS" -> JsPlatforms.defaultJsPlatform + nameSuffix == "NATIVE" -> KonanPlatforms.defaultKonanPlatform + nameSuffix.isEmpty() -> null // TODO(dsavvinov): this leads to 'null'-platform in ModuleDescriptor + else -> throw IllegalStateException("Can't determine platform by name $nameSuffix") + } + } + }