Rename -Xno-use-ir -> -Xuse-old-backend, add Gradle option

As soon as JVM IR is enabled by default (in language version 1.5), use
the CLI argument `-Xuse-old-backend` or Gradle option `useOldBackend` to
switch to the old JVM backend.
This commit is contained in:
Alexander Udalov
2020-12-30 21:33:48 +01:00
parent b8fb1ce83c
commit 22d0e5eb65
8 changed files with 43 additions and 20 deletions
@@ -17,4 +17,4 @@ interface KotlinCommonOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonToo
* Default value: null
*/
var languageVersion: kotlin.String?
}
}
@@ -58,4 +58,10 @@ interface KotlinJvmOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOption
* Default value: false
*/
var useIR: kotlin.Boolean
/**
* Use the old JVM backend
* Default value: false
*/
var useOldBackend: kotlin.Boolean
}
@@ -102,6 +102,13 @@ internal abstract class KotlinJvmOptionsBase : org.jetbrains.kotlin.gradle.dsl.K
useIRField = value
}
private var useOldBackendField: kotlin.Boolean? = null
override var useOldBackend: kotlin.Boolean
get() = useOldBackendField ?: false
set(value) {
useOldBackendField = value
}
internal open fun updateArguments(args: org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments) {
allWarningsAsErrorsField?.let { args.allWarningsAsErrors = it }
suppressWarningsField?.let { args.suppressWarnings = it }
@@ -117,6 +124,7 @@ internal abstract class KotlinJvmOptionsBase : org.jetbrains.kotlin.gradle.dsl.K
noReflectField?.let { args.noReflect = it }
noStdlibField?.let { args.noStdlib = it }
useIRField?.let { args.useIR = it }
useOldBackendField?.let { args.useOldBackend = it }
}
}
@@ -135,4 +143,5 @@ internal fun org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments.fi
noReflect = true
noStdlib = true
useIR = false
useOldBackend = false
}