Minor, generate trailing comma in enums in Gradle compiler types
This both simplifies the generator code and makes the generated code conform to the style guide (see https://kotlinlang.org/docs/coding-conventions.html#trailing-commas), in particular it improves version control diffs for generated enums.
This commit is contained in:
@@ -22,11 +22,10 @@ internal fun generateJsMainFunctionExecutionMode(
|
||||
K2JsArgumentConstants::NO_CALL.name to K2JsArgumentConstants.NO_CALL
|
||||
)
|
||||
|
||||
val lastIndex = modes.size - 1
|
||||
modes.entries.forEachIndexed { index, mode ->
|
||||
val lastChar = if (index == lastIndex) ";" else ","
|
||||
println("${mode.key}(\"${mode.value}\")$lastChar")
|
||||
for ((key, value) in modes) {
|
||||
println("$key(\"$value\"),")
|
||||
}
|
||||
println(";")
|
||||
|
||||
println()
|
||||
println("companion object {")
|
||||
@@ -55,11 +54,10 @@ internal fun generateJsModuleKind(
|
||||
K2JsArgumentConstants::MODULE_ES.name to K2JsArgumentConstants.MODULE_ES
|
||||
)
|
||||
|
||||
val lastIndex = kinds.size - 1
|
||||
kinds.entries.forEachIndexed { index, mode ->
|
||||
val lastChar = if (index == lastIndex) ";" else ","
|
||||
println("${mode.key}(\"${mode.value}\")$lastChar")
|
||||
for ((key, value) in kinds) {
|
||||
println("$key(\"$value\"),")
|
||||
}
|
||||
println(";")
|
||||
|
||||
println()
|
||||
println("companion object {")
|
||||
@@ -86,11 +84,10 @@ internal fun generateJsSourceMapEmbedMode(
|
||||
K2JsArgumentConstants::SOURCE_MAP_SOURCE_CONTENT_INLINING.name to K2JsArgumentConstants.SOURCE_MAP_SOURCE_CONTENT_INLINING,
|
||||
)
|
||||
|
||||
val lastIndex = modes.size - 1
|
||||
modes.entries.forEachIndexed { index, mode ->
|
||||
val lastChar = if (index == lastIndex) ";" else ","
|
||||
println("${mode.key}(\"${mode.value}\")$lastChar")
|
||||
for ((key, value) in modes) {
|
||||
println("$key(\"$value\"),")
|
||||
}
|
||||
println(";")
|
||||
|
||||
println()
|
||||
println("companion object {")
|
||||
@@ -111,16 +108,15 @@ internal fun generateJsDiagnosticMode(
|
||||
val diagnosticModeFqName = FqName("org.jetbrains.kotlin.gradle.dsl.JsDiagnosticMode")
|
||||
filePrinter(fileFromFqName(apiDir, diagnosticModeFqName)) {
|
||||
generateDeclaration("enum class", diagnosticModeFqName, afterType = "(val mode: String)") {
|
||||
val mods = hashMapOf(
|
||||
val modes = hashMapOf(
|
||||
K2JsArgumentConstants::RUNTIME_DIAGNOSTIC_EXCEPTION.name to K2JsArgumentConstants.RUNTIME_DIAGNOSTIC_EXCEPTION,
|
||||
K2JsArgumentConstants::RUNTIME_DIAGNOSTIC_LOG.name to K2JsArgumentConstants.RUNTIME_DIAGNOSTIC_LOG,
|
||||
)
|
||||
|
||||
val lastIndex = mods.size - 1
|
||||
mods.entries.forEachIndexed { index, mode ->
|
||||
val lastChar = if (index == lastIndex) ";" else ","
|
||||
println("${mode.key}(\"${mode.value}\")$lastChar")
|
||||
for ((key, value) in modes) {
|
||||
println("$key(\"$value\"),")
|
||||
}
|
||||
println(";")
|
||||
|
||||
println()
|
||||
println("companion object {")
|
||||
|
||||
@@ -17,13 +17,10 @@ internal fun generateJvmTarget(
|
||||
val jvmTargetFqName = FqName("org.jetbrains.kotlin.gradle.dsl.JvmTarget")
|
||||
filePrinter(fileFromFqName(apiDir, jvmTargetFqName)) {
|
||||
generateDeclaration("enum class", jvmTargetFqName, afterType = "(val target: String)") {
|
||||
val jvmTargetValues = JvmTarget.supportedValues()
|
||||
|
||||
val lastIndex = jvmTargetValues.size - 1
|
||||
jvmTargetValues.forEachIndexed { index, jvmTarget ->
|
||||
val lastChar = if (index == lastIndex) ";" else ","
|
||||
println("${jvmTarget.name}(\"${jvmTarget.description}\")$lastChar")
|
||||
for (jvmTarget in JvmTarget.supportedValues()) {
|
||||
println("${jvmTarget.name}(\"${jvmTarget.description}\"),")
|
||||
}
|
||||
println(";")
|
||||
|
||||
println()
|
||||
println("companion object {")
|
||||
@@ -35,4 +32,4 @@ internal fun generateJvmTarget(
|
||||
println("}")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+3
-6
@@ -21,19 +21,16 @@ internal fun generateKotlinVersion(
|
||||
val kotlinVersionFqName = FqName("org.jetbrains.kotlin.gradle.dsl.KotlinVersion")
|
||||
filePrinter(fileFromFqName(apiDir, kotlinVersionFqName)) {
|
||||
generateDeclaration("enum class", kotlinVersionFqName, afterType = "(val version: String)") {
|
||||
val languageVersions = LanguageVersion.values()
|
||||
|
||||
val lastIndex = languageVersions.size - 1
|
||||
languageVersions.forEachIndexed { index, languageVersion ->
|
||||
val lastChar = if (index == lastIndex) ";" else ","
|
||||
for (languageVersion in LanguageVersion.values()) {
|
||||
val prefix = when {
|
||||
languageVersion.isUnsupported -> "@Deprecated(\"Unsupported\", level = DeprecationLevel.ERROR) "
|
||||
languageVersion.isDeprecated -> "@Deprecated(\"Will be removed soon\") "
|
||||
else -> ""
|
||||
}
|
||||
|
||||
println("${prefix}KOTLIN_${languageVersion.major}_${languageVersion.minor}(\"${languageVersion.versionString}\")$lastChar")
|
||||
println("${prefix}KOTLIN_${languageVersion.major}_${languageVersion.minor}(\"${languageVersion.versionString}\"),")
|
||||
}
|
||||
println(";")
|
||||
|
||||
println()
|
||||
println("companion object {")
|
||||
|
||||
Reference in New Issue
Block a user