diff --git a/idea/idea-jps-common/src/org/jetbrains/kotlin/platform/impl/JvmIdePlatformKind.kt b/idea/idea-jps-common/src/org/jetbrains/kotlin/platform/impl/JvmIdePlatformKind.kt index 88cc0a8724b..94c6d4d4311 100644 --- a/idea/idea-jps-common/src/org/jetbrains/kotlin/platform/impl/JvmIdePlatformKind.kt +++ b/idea/idea-jps-common/src/org/jetbrains/kotlin/platform/impl/JvmIdePlatformKind.kt @@ -4,8 +4,10 @@ */ @file:JvmName("JvmIdePlatformUtil") + package org.jetbrains.kotlin.platform.impl +import com.intellij.util.text.VersionComparatorUtil import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments import org.jetbrains.kotlin.config.JvmTarget @@ -18,7 +20,9 @@ object JvmIdePlatformKind : IdePlatformKind() { override fun platformByCompilerArguments(arguments: CommonCompilerArguments): IdePlatform? { return if (arguments is K2JVMCompilerArguments) { val jvmTarget = arguments.jvmTarget ?: JvmTarget.DEFAULT.description - JvmIdePlatformKind.platforms.firstOrNull { it.version.description >= jvmTarget } + platforms.firstOrNull { platform -> + VersionComparatorUtil.COMPARATOR.compare(platform.version.description, jvmTarget) >= 0 + } } else null } diff --git a/idea/testData/configuration/jvmProjectWithJvmTarget11/module.iml b/idea/testData/configuration/jvmProjectWithJvmTarget11/module.iml new file mode 100644 index 00000000000..bf64539a549 --- /dev/null +++ b/idea/testData/configuration/jvmProjectWithJvmTarget11/module.iml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/idea/testData/configuration/jvmProjectWithJvmTarget11/projectFile.ipr b/idea/testData/configuration/jvmProjectWithJvmTarget11/projectFile.ipr new file mode 100644 index 00000000000..fd5b3ce3075 --- /dev/null +++ b/idea/testData/configuration/jvmProjectWithJvmTarget11/projectFile.ipr @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java b/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java index c1e164c72f4..d3ac1e652d3 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java +++ b/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java @@ -271,6 +271,11 @@ public class ConfigureKotlinTest extends AbstractConfigureKotlinTest { assertEquals("-version -Xallow-kotlin-package -Xskip-metadata-version-check", settings.getCompilerSettings().getAdditionalArguments()); } + public void testJvmProjectWithJvmTarget11() { + KotlinFacetSettings settings = KotlinFacetSettingsProvider.Companion.getInstance(myProject).getInitializedSettings(getModule()); + assertEquals(new JvmIdePlatformKind.Platform(JvmTarget.JVM_11), settings.getPlatform()); + } + public void testImplementsDependency() { ModuleManager moduleManager = ModuleManager.getInstance(myProject); diff --git a/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java.181 b/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java.181 index 13d326c18b0..c7d0d314d43 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java.181 +++ b/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java.181 @@ -271,6 +271,11 @@ public class ConfigureKotlinTest extends AbstractConfigureKotlinTest { assertEquals("-version -Xallow-kotlin-package -Xskip-metadata-version-check", settings.getCompilerSettings().getAdditionalArguments()); } + public void testJvmProjectWithJvmTarget11() { + KotlinFacetSettings settings = KotlinFacetSettingsProvider.Companion.getInstance(myProject).getInitializedSettings(getModule()); + assertEquals(new JvmIdePlatformKind.Platform(JvmTarget.JVM_11), settings.getPlatform()); + } + public void testImplementsDependency() { ModuleManager moduleManager = ModuleManager.getInstance(myProject);