diff --git a/generators/tests/org/jetbrains/kotlin/generators/arguments/GenerateGradleOptions.kt b/generators/tests/org/jetbrains/kotlin/generators/arguments/GenerateGradleOptions.kt index 00b34b829cc..da4e68c0927 100644 --- a/generators/tests/org/jetbrains/kotlin/generators/arguments/GenerateGradleOptions.kt +++ b/generators/tests/org/jetbrains/kotlin/generators/arguments/GenerateGradleOptions.kt @@ -198,15 +198,19 @@ private fun Printer.generateImpl( for (property in properties) { println() - val backingField = property.backingField() - val backingFieldType = property.gradleReturnType + "?" - println("private var $backingField: $backingFieldType = null") - generatePropertyDeclaration(property, modifiers = "override") - withIndent { - println("get() = $backingField ?: ${property.gradleDefaultValue}") - println("set(value) {") - withIndent { println("$backingField = value") } - println("}") + val propertyType = property.gradleReturnType + if (propertyType.endsWith("?")) { + generatePropertyDeclaration(property, modifiers = "override", value = "null") + } else { + val backingField = property.backingField() + println("private var $backingField: $propertyType? = null") + generatePropertyDeclaration(property, modifiers = "override") + withIndent { + println("get() = $backingField ?: ${property.gradleDefaultValue}") + println("set(value) {") + withIndent { println("$backingField = value") } + println("}") + } } } @@ -214,7 +218,7 @@ private fun Printer.generateImpl( println("internal open fun updateArguments(args: $argsType) {") withIndent { for (property in properties) { - val backingField = property.backingField() + val backingField = if (property.gradleReturnType.endsWith("?")) property.name else property.backingField() println("$backingField?.let { args.${property.name} = it }") } } @@ -252,9 +256,10 @@ private fun Printer.generateDeclaration( println("}") } -private fun Printer.generatePropertyDeclaration(property: KProperty1<*, *>, modifiers: String = "") { +private fun Printer.generatePropertyDeclaration(property: KProperty1<*, *>, modifiers: String = "", value: String? = null) { val returnType = property.gradleReturnType - println("$modifiers var ${property.name}: $returnType") + val initialValue = if (value != null) " = $value" else "" + println("$modifiers var ${property.name}: $returnType$initialValue") } private fun Printer.generateOptionDeprecation(property: KProperty1<*, *>) { diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJsDceOptionsBase.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJsDceOptionsBase.kt index c6919660a15..78b0041c725 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJsDceOptionsBase.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJsDceOptionsBase.kt @@ -32,19 +32,14 @@ internal abstract class KotlinJsDceOptionsBase : org.jetbrains.kotlin.gradle.dsl devModeField = value } - private var outputDirectoryField: kotlin.String?? = null - override var outputDirectory: kotlin.String? - get() = outputDirectoryField ?: null - set(value) { - outputDirectoryField = value - } + override var outputDirectory: kotlin.String? = null internal open fun updateArguments(args: org.jetbrains.kotlin.cli.common.arguments.K2JSDceArguments) { allWarningsAsErrorsField?.let { args.allWarningsAsErrors = it } suppressWarningsField?.let { args.suppressWarnings = it } verboseField?.let { args.verbose = it } devModeField?.let { args.devMode = it } - outputDirectoryField?.let { args.outputDirectory = it } + outputDirectory?.let { args.outputDirectory = it } } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJsOptionsBase.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJsOptionsBase.kt index add992b1db5..9c4be548f54 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJsOptionsBase.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJsOptionsBase.kt @@ -25,19 +25,9 @@ internal abstract class KotlinJsOptionsBase : org.jetbrains.kotlin.gradle.dsl.Ko verboseField = value } - private var apiVersionField: kotlin.String?? = null - override var apiVersion: kotlin.String? - get() = apiVersionField ?: null - set(value) { - apiVersionField = value - } + override var apiVersion: kotlin.String? = null - private var languageVersionField: kotlin.String?? = null - override var languageVersion: kotlin.String? - get() = languageVersionField ?: null - set(value) { - languageVersionField = value - } + override var languageVersion: kotlin.String? = null private var useFirField: kotlin.Boolean? = null override var useFir: kotlin.Boolean @@ -81,12 +71,7 @@ internal abstract class KotlinJsOptionsBase : org.jetbrains.kotlin.gradle.dsl.Ko noStdlibField = value } - private var outputFileField: kotlin.String?? = null - override var outputFile: kotlin.String? - get() = outputFileField ?: null - set(value) { - outputFileField = value - } + override var outputFile: kotlin.String? = null private var sourceMapField: kotlin.Boolean? = null override var sourceMap: kotlin.Boolean @@ -95,19 +80,9 @@ internal abstract class KotlinJsOptionsBase : org.jetbrains.kotlin.gradle.dsl.Ko sourceMapField = value } - private var sourceMapEmbedSourcesField: kotlin.String?? = null - override var sourceMapEmbedSources: kotlin.String? - get() = sourceMapEmbedSourcesField ?: null - set(value) { - sourceMapEmbedSourcesField = value - } + override var sourceMapEmbedSources: kotlin.String? = null - private var sourceMapPrefixField: kotlin.String?? = null - override var sourceMapPrefix: kotlin.String? - get() = sourceMapPrefixField ?: null - set(value) { - sourceMapPrefixField = value - } + override var sourceMapPrefix: kotlin.String? = null private var targetField: kotlin.String? = null override var target: kotlin.String @@ -127,18 +102,18 @@ internal abstract class KotlinJsOptionsBase : org.jetbrains.kotlin.gradle.dsl.Ko allWarningsAsErrorsField?.let { args.allWarningsAsErrors = it } suppressWarningsField?.let { args.suppressWarnings = it } verboseField?.let { args.verbose = it } - apiVersionField?.let { args.apiVersion = it } - languageVersionField?.let { args.languageVersion = it } + apiVersion?.let { args.apiVersion = it } + languageVersion?.let { args.languageVersion = it } useFirField?.let { args.useFir = it } friendModulesDisabledField?.let { args.friendModulesDisabled = it } mainField?.let { args.main = it } metaInfoField?.let { args.metaInfo = it } moduleKindField?.let { args.moduleKind = it } noStdlibField?.let { args.noStdlib = it } - outputFileField?.let { args.outputFile = it } + outputFile?.let { args.outputFile = it } sourceMapField?.let { args.sourceMap = it } - sourceMapEmbedSourcesField?.let { args.sourceMapEmbedSources = it } - sourceMapPrefixField?.let { args.sourceMapPrefix = it } + sourceMapEmbedSources?.let { args.sourceMapEmbedSources = it } + sourceMapPrefix?.let { args.sourceMapPrefix = it } targetField?.let { args.target = it } typedArraysField?.let { args.typedArrays = it } } 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 839ea28be67..58c8e9d9a56 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 @@ -25,19 +25,9 @@ internal abstract class KotlinJvmOptionsBase : org.jetbrains.kotlin.gradle.dsl.K verboseField = value } - private var apiVersionField: kotlin.String?? = null - override var apiVersion: kotlin.String? - get() = apiVersionField ?: null - set(value) { - apiVersionField = value - } + override var apiVersion: kotlin.String? = null - private var languageVersionField: kotlin.String?? = null - override var languageVersion: kotlin.String? - get() = languageVersionField ?: null - set(value) { - languageVersionField = value - } + override var languageVersion: kotlin.String? = null private var useFirField: kotlin.Boolean? = null override var useFir: kotlin.Boolean @@ -60,12 +50,7 @@ internal abstract class KotlinJvmOptionsBase : org.jetbrains.kotlin.gradle.dsl.K javaParametersField = value } - private var jdkHomeField: kotlin.String?? = null - override var jdkHome: kotlin.String? - get() = jdkHomeField ?: null - set(value) { - jdkHomeField = value - } + override var jdkHome: kotlin.String? = null private var jvmTargetField: kotlin.String? = null override var jvmTarget: kotlin.String @@ -74,12 +59,7 @@ internal abstract class KotlinJvmOptionsBase : org.jetbrains.kotlin.gradle.dsl.K jvmTargetField = value } - private var moduleNameField: kotlin.String?? = null - override var moduleName: kotlin.String? - get() = moduleNameField ?: null - set(value) { - moduleNameField = value - } + override var moduleName: kotlin.String? = null private var noJdkField: kotlin.Boolean? = null override var noJdk: kotlin.Boolean @@ -120,14 +100,14 @@ internal abstract class KotlinJvmOptionsBase : org.jetbrains.kotlin.gradle.dsl.K allWarningsAsErrorsField?.let { args.allWarningsAsErrors = it } suppressWarningsField?.let { args.suppressWarnings = it } verboseField?.let { args.verbose = it } - apiVersionField?.let { args.apiVersion = it } - languageVersionField?.let { args.languageVersion = it } + apiVersion?.let { args.apiVersion = it } + languageVersion?.let { args.languageVersion = it } useFirField?.let { args.useFir = it } includeRuntimeField?.let { args.includeRuntime = it } javaParametersField?.let { args.javaParameters = it } - jdkHomeField?.let { args.jdkHome = it } + jdkHome?.let { args.jdkHome = it } jvmTargetField?.let { args.jvmTarget = it } - moduleNameField?.let { args.moduleName = it } + moduleName?.let { args.moduleName = it } noJdkField?.let { args.noJdk = it } noReflectField?.let { args.noReflect = it } noStdlibField?.let { args.noStdlib = it } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformCommonOptionsBase.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformCommonOptionsBase.kt index b9e7a969e38..5d034a4733e 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformCommonOptionsBase.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformCommonOptionsBase.kt @@ -25,19 +25,9 @@ internal abstract class KotlinMultiplatformCommonOptionsBase : org.jetbrains.kot verboseField = value } - private var apiVersionField: kotlin.String?? = null - override var apiVersion: kotlin.String? - get() = apiVersionField ?: null - set(value) { - apiVersionField = value - } + override var apiVersion: kotlin.String? = null - private var languageVersionField: kotlin.String?? = null - override var languageVersion: kotlin.String? - get() = languageVersionField ?: null - set(value) { - languageVersionField = value - } + override var languageVersion: kotlin.String? = null private var useFirField: kotlin.Boolean? = null override var useFir: kotlin.Boolean @@ -50,8 +40,8 @@ internal abstract class KotlinMultiplatformCommonOptionsBase : org.jetbrains.kot allWarningsAsErrorsField?.let { args.allWarningsAsErrors = it } suppressWarningsField?.let { args.suppressWarnings = it } verboseField?.let { args.verbose = it } - apiVersionField?.let { args.apiVersion = it } - languageVersionField?.let { args.languageVersion = it } + apiVersion?.let { args.apiVersion = it } + languageVersion?.let { args.languageVersion = it } useFirField?.let { args.useFir = it } } }