Do not suppress errors with -Xsuppress-version-warnings
#KT-48833 Fixed
This commit is contained in:
+7
-9
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user