From 383239aff62ad353fa5e9a927003d7973e4565be Mon Sep 17 00:00:00 2001 From: Jim Sproch Date: Fri, 18 Oct 2019 01:58:43 +0300 Subject: [PATCH] Make useIR available from Gradle KotlinJvmOptions --- .../cli/common/arguments/K2JVMCompilerArguments.kt | 1 + .../org/jetbrains/kotlin/gradle/dsl/KotlinJvmOptions.kt | 6 ++++++ .../jetbrains/kotlin/gradle/dsl/KotlinJvmOptionsBase.kt | 9 +++++++++ 3 files changed, 16 insertions(+) diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JVMCompilerArguments.kt b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JVMCompilerArguments.kt index 512e75094f4..b84e31fa407 100644 --- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JVMCompilerArguments.kt +++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JVMCompilerArguments.kt @@ -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) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJvmOptions.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJvmOptions.kt index 7c421c77578..47fb4d1c07d 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJvmOptions.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJvmOptions.kt @@ -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 } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJvmOptionsBase.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJvmOptionsBase.kt index 5616168b599..fb700b609ea 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJvmOptionsBase.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJvmOptionsBase.kt @@ -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 }