From 07ebf4ed29ae6be18b3a4294876afe0a30a18a14 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Mon, 7 Mar 2022 20:35:04 +0100 Subject: [PATCH] Do not suppress errors with -Xsuppress-version-warnings #KT-48833 Fixed --- .../common/arguments/CommonCompilerArguments.kt | 16 +++++++--------- .../jvm/kt48833_doNotSuppressVersionErrors.args | 6 ++++++ .../jvm/kt48833_doNotSuppressVersionErrors.out | 2 ++ .../jetbrains/kotlin/cli/CliTestGenerated.java | 5 +++++ 4 files changed, 20 insertions(+), 9 deletions(-) create mode 100644 compiler/testData/cli/jvm/kt48833_doNotSuppressVersionErrors.args create mode 100644 compiler/testData/cli/jvm/kt48833_doNotSuppressVersionErrors.out diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/CommonCompilerArguments.kt b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/CommonCompilerArguments.kt index 30d6a60ff36..c786f4d8744 100644 --- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/CommonCompilerArguments.kt +++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/CommonCompilerArguments.kt @@ -573,13 +573,11 @@ abstract class CommonCompilerArguments : CommonToolArguments() { configureLanguageFeatures(collector) ) - if (!suppressVersionWarnings) { - checkLanguageVersionIsStable(languageVersion, collector) - checkOutdatedVersions(languageVersion, apiVersion, collector) - checkProgressiveMode(languageVersion, collector) + checkLanguageVersionIsStable(languageVersion, collector) + checkOutdatedVersions(languageVersion, apiVersion, collector) + checkProgressiveMode(languageVersion, collector) - checkIrSupport(languageVersionSettings, collector) - } + checkIrSupport(languageVersionSettings, collector) checkPlatformSpecificSettings(languageVersionSettings, collector) @@ -600,7 +598,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() { } private fun checkLanguageVersionIsStable(languageVersion: LanguageVersion, collector: MessageCollector) { - if (!languageVersion.isStable) { + if (!languageVersion.isStable && !suppressVersionWarnings) { collector.report( CompilerMessageSeverity.STRONG_WARNING, "Language version ${languageVersion.versionString} is experimental, there are no backwards compatibility guarantees for " + @@ -619,7 +617,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() { "please, use version ${supportedVersion!!.versionString} or greater." ) } - version.isDeprecated -> { + version.isDeprecated && !suppressVersionWarnings -> { collector.report( CompilerMessageSeverity.STRONG_WARNING, "${versionKind.text} version ${version.versionString} is deprecated " + @@ -640,7 +638,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() { } private fun checkProgressiveMode(languageVersion: LanguageVersion, collector: MessageCollector) { - if (progressiveMode && languageVersion < LanguageVersion.LATEST_STABLE) { + if (progressiveMode && languageVersion < LanguageVersion.LATEST_STABLE && !suppressVersionWarnings) { collector.report( CompilerMessageSeverity.STRONG_WARNING, "'-progressive' is meaningful only for the latest language version (${LanguageVersion.LATEST_STABLE}), " + diff --git a/compiler/testData/cli/jvm/kt48833_doNotSuppressVersionErrors.args b/compiler/testData/cli/jvm/kt48833_doNotSuppressVersionErrors.args new file mode 100644 index 00000000000..cdbde298c0a --- /dev/null +++ b/compiler/testData/cli/jvm/kt48833_doNotSuppressVersionErrors.args @@ -0,0 +1,6 @@ +$TESTDATA_DIR$/simple.kt +-d +$TEMP_DIR$ +-language-version +1.0 +-Xsuppress-version-warnings diff --git a/compiler/testData/cli/jvm/kt48833_doNotSuppressVersionErrors.out b/compiler/testData/cli/jvm/kt48833_doNotSuppressVersionErrors.out new file mode 100644 index 00000000000..58b0ae5060d --- /dev/null +++ b/compiler/testData/cli/jvm/kt48833_doNotSuppressVersionErrors.out @@ -0,0 +1,2 @@ +error: language version 1.0 is no longer supported; please, use version 1.3 or greater. +COMPILATION_ERROR diff --git a/compiler/tests-gen/org/jetbrains/kotlin/cli/CliTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/cli/CliTestGenerated.java index 0d61a34eedb..e7565c1a1de 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/cli/CliTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/cli/CliTestGenerated.java @@ -679,6 +679,11 @@ public class CliTestGenerated extends AbstractCliTest { runTest("compiler/testData/cli/jvm/kt22304.args"); } + @TestMetadata("kt48833_doNotSuppressVersionErrors.args") + public void testKt48833_doNotSuppressVersionErrors() throws Exception { + runTest("compiler/testData/cli/jvm/kt48833_doNotSuppressVersionErrors.args"); + } + @TestMetadata("kt49209.args") public void testKt49209() throws Exception { runTest("compiler/testData/cli/jvm/kt49209.args");