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 // Advanced options
@GradleOption(DefaultValues.BooleanFalseDefault::class)
@Argument(value = "-Xuse-ir", description = "Use the IR backend") @Argument(value = "-Xuse-ir", description = "Use the IR backend")
var useIR: Boolean by FreezableVar(false) var useIR: Boolean by FreezableVar(false)
@@ -46,4 +46,10 @@ interface KotlinJvmOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOption
* Default value: true * Default value: true
*/ */
var noStdlib: kotlin.Boolean 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 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) { internal open fun updateArguments(args: org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments) {
allWarningsAsErrorsField?.let { args.allWarningsAsErrors = it } allWarningsAsErrorsField?.let { args.allWarningsAsErrors = it }
suppressWarningsField?.let { args.suppressWarnings = 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 } noJdkField?.let { args.noJdk = it }
noReflectField?.let { args.noReflect = it } noReflectField?.let { args.noReflect = it }
noStdlibField?.let { args.noStdlib = 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 noJdk = false
noReflect = true noReflect = true
noStdlib = true noStdlib = true
useIR = false
} }