Do not suppress errors with -Xsuppress-version-warnings

#KT-48833 Fixed
This commit is contained in:
Alexander Udalov
2022-03-07 20:35:04 +01:00
parent adad0b4628
commit 07ebf4ed29
4 changed files with 20 additions and 9 deletions
@@ -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}), " +
@@ -0,0 +1,6 @@
$TESTDATA_DIR$/simple.kt
-d
$TEMP_DIR$
-language-version
1.0
-Xsuppress-version-warnings
@@ -0,0 +1,2 @@
error: language version 1.0 is no longer supported; please, use version 1.3 or greater.
COMPILATION_ERROR
@@ -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");