Make useIR available from Gradle KotlinJvmOptions

This commit is contained in:
Jim Sproch
2019-10-18 01:58:43 +03:00
committed by Stanislav Erokhin
parent 8be6a1fe8a
commit 383239aff6
3 changed files with 16 additions and 0 deletions
@@ -69,6 +69,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
// Advanced options
@GradleOption(DefaultValues.BooleanFalseDefault::class)
@Argument(value = "-Xuse-ir", description = "Use the IR backend")
var useIR: Boolean by FreezableVar(false)
@@ -46,4 +46,10 @@ interface KotlinJvmOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOption
* Default value: true
*/
var noStdlib: kotlin.Boolean
/**
* Use the IR backend
* Default value: false
*/
var useIR: kotlin.Boolean
}
@@ -88,6 +88,13 @@ internal abstract class KotlinJvmOptionsBase : org.jetbrains.kotlin.gradle.dsl.K
noStdlibField = value
}
private var useIRField: kotlin.Boolean? = null
override var useIR: kotlin.Boolean
get() = useIRField ?: false
set(value) {
useIRField = value
}
internal open fun updateArguments(args: org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments) {
allWarningsAsErrorsField?.let { args.allWarningsAsErrors = it }
suppressWarningsField?.let { args.suppressWarnings = it }
@@ -101,6 +108,7 @@ internal abstract class KotlinJvmOptionsBase : org.jetbrains.kotlin.gradle.dsl.K
noJdkField?.let { args.noJdk = it }
noReflectField?.let { args.noReflect = it }
noStdlibField?.let { args.noStdlib = it }
useIRField?.let { args.useIR = it }
}
}
@@ -117,4 +125,5 @@ internal fun org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments.fi
noJdk = false
noReflect = true
noStdlib = true
useIR = false
}