diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/deprecationUtil.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/deprecationUtil.kt index 3a3b9c077cd..06f78559160 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/deprecationUtil.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/deprecationUtil.kt @@ -19,6 +19,7 @@ package org.jetbrains.kotlin.resolve import com.intellij.psi.PsiElement import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.config.ApiVersion +import org.jetbrains.kotlin.config.KotlinCompilerVersion import org.jetbrains.kotlin.config.LanguageVersionSettings import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor @@ -301,7 +302,7 @@ class DeprecationResolver( ProtoBuf.VersionRequirement.VersionKind.API_VERSION -> languageVersionSettings.apiVersion ProtoBuf.VersionRequirement.VersionKind.COMPILER_VERSION -> - ApiVersion.LATEST_STABLE + KotlinCompilerVersion.getVersion()?.let((ApiVersion)::parse) else -> null } if (currentVersion != null && currentVersion < requiredVersion) { diff --git a/core/util.runtime/src/org/jetbrains/kotlin/config/KotlinCompilerVersion.java b/core/util.runtime/src/org/jetbrains/kotlin/config/KotlinCompilerVersion.java index b470d1059af..bb1ee0e6b0b 100644 --- a/core/util.runtime/src/org/jetbrains/kotlin/config/KotlinCompilerVersion.java +++ b/core/util.runtime/src/org/jetbrains/kotlin/config/KotlinCompilerVersion.java @@ -16,6 +16,8 @@ package org.jetbrains.kotlin.config; +import org.jetbrains.annotations.Nullable; + public class KotlinCompilerVersion { // The value of this constant is generated by the build script // DON'T MODIFY IT @@ -38,6 +40,15 @@ public class KotlinCompilerVersion { return IS_PRE_RELEASE; } + /** + * @return version of this compiler, or `null` if it isn't known (if VERSION is "@snapshot@") + */ + @Nullable + public static String getVersion() { + //noinspection ConstantConditions + return VERSION.equals("@snapshot@") ? null : VERSION; + } + static { //noinspection ConstantConditions if (!VERSION.equals("@snapshot@") && !VERSION.contains("-") && IS_PRE_RELEASE) {