Improve generated code for Gradle properties
Fix warnings about double nullability and useless elvis.
This commit is contained in:
committed by
TeamCityServer
parent
ccc27b6a0c
commit
e5128a8772
+17
-12
@@ -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<*, *>) {
|
||||
|
||||
+2
-7
@@ -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 }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+10
-35
@@ -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 }
|
||||
}
|
||||
|
||||
+8
-28
@@ -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 }
|
||||
|
||||
+4
-14
@@ -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 }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user