From 4e6243c4f7c26304758a21539f7eca8a2acc0c3e Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Tue, 26 Oct 2021 15:37:31 +0000 Subject: [PATCH] Restore useIR Gradle option as HIDDEN (KT-45504) This will allow to KEEP binary compatibility with the Compose plugin 1.0.1 for a bit longer Merge-request: KT-MR-4857 --- .../cli/common/arguments/K2JVMCompilerArguments.kt | 2 +- .../jetbrains/kotlin/gradle/dsl/KotlinJvmOptions.kt | 7 +++++++ .../kotlin/gradle/dsl/KotlinJvmOptionsBase.kt | 10 ++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) 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 3def65348fc..fda5872a290 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 @@ -97,7 +97,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() { // Advanced options - @DeprecatedOption(removeAfter = "1.5", level = DeprecationLevel.WARNING) + @DeprecatedOption(removeAfter = "1.6", level = DeprecationLevel.HIDDEN) @GradleOption(DefaultValues.BooleanFalseDefault::class) @Argument( value = "-Xuse-ir", 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 6ef3f1c63ad..0d495025f9b 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 @@ -44,6 +44,13 @@ interface KotlinJvmOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOption @Deprecated(message = "This option has no effect and will be removed in a future release.", level = DeprecationLevel.ERROR) var noStdlib: kotlin.Boolean + /** + * Use the IR backend. This option has no effect unless the language version less than 1.5 is used + * Default value: false + */ + @Deprecated(message = "This option has no effect and will be removed in a future release.", level = DeprecationLevel.HIDDEN) + var useIR: kotlin.Boolean + /** * Use the old JVM backend * Default value: false 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 01faa376ddc..13b6f07c326 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 @@ -71,6 +71,14 @@ internal abstract class KotlinJvmOptionsBase : org.jetbrains.kotlin.gradle.dsl.K noStdlibField = value } + private var useIRField: kotlin.Boolean? = null + @Deprecated(message = "This option has no effect and will be removed in a future release.", level = DeprecationLevel.HIDDEN) + override var useIR: kotlin.Boolean + get() = useIRField ?: false + set(value) { + useIRField = value + } + private var useOldBackendField: kotlin.Boolean? = null override var useOldBackend: kotlin.Boolean get() = useOldBackendField ?: false @@ -91,6 +99,7 @@ internal abstract class KotlinJvmOptionsBase : org.jetbrains.kotlin.gradle.dsl.K moduleName?.let { args.moduleName = it } noJdkField?.let { args.noJdk = it } noStdlibField?.let { args.noStdlib = it } + useIRField?.let { args.useIR = it } useOldBackendField?.let { args.useOldBackend = it } } } @@ -108,5 +117,6 @@ internal fun org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments.fi moduleName = null noJdk = false noStdlib = true + useIR = false useOldBackend = false }