From 03440210ee5f906c00b4bd2f119ac9031e7f7a6d Mon Sep 17 00:00:00 2001 From: Mikhail Zarechenskiy Date: Wed, 6 Sep 2017 17:18:02 +0300 Subject: [PATCH] Introduce language version 1.3 --- compiler/testData/cli/jvm/apiVersionInvalid.out | 4 ++-- compiler/testData/cli/jvm/languageVersionInvalid.out | 4 ++-- compiler/util/src/org/jetbrains/kotlin/config/ApiVersion.kt | 3 +++ .../org/jetbrains/kotlin/config/LanguageVersionSettings.kt | 6 +++--- .../kotlin/idea/facet/KotlinVersionInfoProvider.kt | 1 + .../org/jetbrains/kotlin/gradle/dsl/KotlinCommonOptions.kt | 4 ++-- 6 files changed, 13 insertions(+), 9 deletions(-) diff --git a/compiler/testData/cli/jvm/apiVersionInvalid.out b/compiler/testData/cli/jvm/apiVersionInvalid.out index 7ecd1fba1bf..ea35c26417c 100644 --- a/compiler/testData/cli/jvm/apiVersionInvalid.out +++ b/compiler/testData/cli/jvm/apiVersionInvalid.out @@ -1,3 +1,3 @@ error: unknown API version: 239.42 -Supported API versions: 1.0, 1.1, 1.2 (EXPERIMENTAL) -COMPILATION_ERROR \ No newline at end of file +Supported API versions: 1.0, 1.1, 1.2 (EXPERIMENTAL), 1.3 (EXPERIMENTAL) +COMPILATION_ERROR diff --git a/compiler/testData/cli/jvm/languageVersionInvalid.out b/compiler/testData/cli/jvm/languageVersionInvalid.out index a38f415a952..887d172a00d 100644 --- a/compiler/testData/cli/jvm/languageVersionInvalid.out +++ b/compiler/testData/cli/jvm/languageVersionInvalid.out @@ -1,3 +1,3 @@ error: unknown language version: 239.42 -Supported language versions: 1.0, 1.1, 1.2 (EXPERIMENTAL) -COMPILATION_ERROR \ No newline at end of file +Supported language versions: 1.0, 1.1, 1.2 (EXPERIMENTAL), 1.3 (EXPERIMENTAL) +COMPILATION_ERROR diff --git a/compiler/util/src/org/jetbrains/kotlin/config/ApiVersion.kt b/compiler/util/src/org/jetbrains/kotlin/config/ApiVersion.kt index 904c58ac13a..5d03983492f 100644 --- a/compiler/util/src/org/jetbrains/kotlin/config/ApiVersion.kt +++ b/compiler/util/src/org/jetbrains/kotlin/config/ApiVersion.kt @@ -50,6 +50,9 @@ class ApiVersion private constructor( @JvmField val KOTLIN_1_2 = createByLanguageVersion(LanguageVersion.KOTLIN_1_2) + @JvmField + val KOTLIN_1_3 = createByLanguageVersion(LanguageVersion.KOTLIN_1_3) + @JvmField val LATEST_STABLE: ApiVersion = createByLanguageVersion(LanguageVersion.LATEST_STABLE) diff --git a/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt b/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt index edaf38dddef..c9c719df5a9 100644 --- a/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt +++ b/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt @@ -16,8 +16,7 @@ package org.jetbrains.kotlin.config -import org.jetbrains.kotlin.config.LanguageVersion.KOTLIN_1_1 -import org.jetbrains.kotlin.config.LanguageVersion.KOTLIN_1_2 +import org.jetbrains.kotlin.config.LanguageVersion.* import org.jetbrains.kotlin.utils.DescriptionAware import java.util.* @@ -91,7 +90,8 @@ enum class LanguageFeature( enum class LanguageVersion(val major: Int, val minor: Int) : DescriptionAware { KOTLIN_1_0(1, 0), KOTLIN_1_1(1, 1), - KOTLIN_1_2(1, 2); + KOTLIN_1_2(1, 2), + KOTLIN_1_3(1, 3); val isStable: Boolean get() = this <= LATEST_STABLE diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/facet/KotlinVersionInfoProvider.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/facet/KotlinVersionInfoProvider.kt index fcce2669e00..f08cf7d90d7 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/facet/KotlinVersionInfoProvider.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/facet/KotlinVersionInfoProvider.kt @@ -68,6 +68,7 @@ fun getDefaultLanguageLevel( .minWith(VersionComparatorUtil.COMPARATOR) ?: return LanguageVersion.LATEST_STABLE return when { + libVersion.startsWith("1.3") -> LanguageVersion.KOTLIN_1_3 libVersion.startsWith("1.2") -> LanguageVersion.KOTLIN_1_2 libVersion.startsWith("1.1") -> LanguageVersion.KOTLIN_1_1 libVersion.startsWith("1.0") -> LanguageVersion.KOTLIN_1_0 diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinCommonOptions.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinCommonOptions.kt index c9dfd4407f3..d06d5f27a56 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinCommonOptions.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinCommonOptions.kt @@ -6,14 +6,14 @@ interface KotlinCommonOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonToo /** * Allow to use declarations only from the specified version of bundled libraries - * Possible values: "1.0", "1.1", "1.2 (EXPERIMENTAL)" + * Possible values: "1.0", "1.1", "1.2 (EXPERIMENTAL)", "1.3 (EXPERIMENTAL)" * Default value: null */ var apiVersion: kotlin.String? /** * Provide source compatibility with specified language version - * Possible values: "1.0", "1.1", "1.2 (EXPERIMENTAL)" + * Possible values: "1.0", "1.1", "1.2 (EXPERIMENTAL)", "1.3 (EXPERIMENTAL)" * Default value: null */ var languageVersion: kotlin.String?