Support progressive mode via "-progressive"

#KT-25862 Fixed
This commit is contained in:
Alexander Udalov
2018-09-07 13:36:59 +03:00
parent 7474f1dc56
commit 9311ea5d25
12 changed files with 32 additions and 29 deletions
@@ -65,6 +65,17 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
)
var kotlinHome: String? by NullableStringFreezableVar(null)
@Argument(
value = "-progressive",
deprecatedName = "-Xprogressive",
description = "Enable progressive compiler mode.\n" +
"In this mode, deprecations and bug fixes for unstable code take effect immediately,\n" +
"instead of going through a graceful migration cycle.\n" +
"Code written in the progressive mode is backward compatible; however, code written in\n" +
"non-progressive mode may cause compilation errors in the progressive mode."
)
var progressiveMode by FreezableVar(false)
@Argument(value = "-P", valueDescription = PLUGIN_OPTION_FORMAT, description = "Pass an option to a plugin")
var pluginOptions: Array<String>? by FreezableVar(null)
@@ -165,16 +176,6 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
)
var dumpPerf: String? by NullableStringFreezableVar(null)
@Argument(
value = "-Xprogressive",
description = "Enable compiler progressive mode.\n" +
"In this mode, deprecations and bug fixes for unstable code take effect immediately,\n" +
"instead of going through graceful migration cycle.\n" +
"Code, written in progressive mode is backward compatible; however, code written in\n" +
"non-progressive mode may cause compilation errors in progressive mode."
)
var progressiveMode by FreezableVar(false)
@Argument(
value = "-Xmetadata-version",
description = "Change metadata version of the generated binary files"
@@ -319,8 +320,10 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
if (progressiveMode && languageVersion < LanguageVersion.LATEST_STABLE) {
collector.report(
CompilerMessageSeverity.STRONG_WARNING,
"'-Xprogressive' meaningful only for latest language version (${LanguageVersion.LATEST_STABLE}), while this build uses $languageVersion\n" +
"Behaviour of compiler in such mode is undefined; please, consider moving to the latest stable version or turning off progressive mode."
"'-progressive' is meaningful only for the latest language version (${LanguageVersion.LATEST_STABLE}), " +
"while this build uses $languageVersion\n" +
"Compiler behavior in such mode is undefined; please, consider moving to the latest stable version " +
"or turning off progressive mode."
)
}