Warn when running the compiler under Java 6 or 7

(cherry picked from commit 5537800)

(cherry picked from commit 5614874)
This commit is contained in:
Dmitry Jemerov
2017-02-15 17:04:24 +01:00
parent 000da2f6d0
commit af7de9a0c5
11 changed files with 29 additions and 5 deletions
@@ -79,6 +79,9 @@ public abstract class CommonCompilerArguments implements Serializable {
@Argument(value = "Xno-check-impl", description = "Do not check presence of 'impl' modifier in multi-platform projects")
public boolean noCheckImpl;
@Argument(value = "Xskip-java-check", description = "Do not warn when running the compiler under Java 6 or 7")
public boolean noJavaVersionWarning;
@Argument(value = "Xcoroutines=warn")
public boolean coroutinesWarn;
@@ -155,6 +155,7 @@ public abstract class CLICompiler<A extends CommonCompilerArguments> {
}
reportUnknownExtraFlags(messageCollector, arguments);
reportUnsupportedJavaVersion(messageCollector, arguments);
GroupingMessageCollector groupingCollector = new GroupingMessageCollector(messageCollector);
@@ -350,6 +351,16 @@ public abstract class CLICompiler<A extends CommonCompilerArguments> {
}
}
private void reportUnsupportedJavaVersion(MessageCollector collector, A arguments) {
if (!SystemInfo.isJavaVersionAtLeast("1.8") && !arguments.noJavaVersionWarning) {
collector.report(
CompilerMessageSeverity.STRONG_WARNING,
"Running the Kotlin compiler under Java 6 or 7 is unsupported and will no longer be possible in a future update.",
CompilerMessageLocation.NO_LOCATION
);
}
}
@NotNull
protected abstract ExitCode doExecute(
@NotNull A arguments,