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 {")
|
||||
|
||||
+2
-1
@@ -7,7 +7,8 @@ package org.jetbrains.kotlin.gradle.dsl
|
||||
|
||||
enum class JsDiagnosticMode(val mode: String) {
|
||||
RUNTIME_DIAGNOSTIC_EXCEPTION("exception"),
|
||||
RUNTIME_DIAGNOSTIC_LOG("log");
|
||||
RUNTIME_DIAGNOSTIC_LOG("log"),
|
||||
;
|
||||
|
||||
companion object {
|
||||
fun fromMode(mode: String): JsDiagnosticMode =
|
||||
|
||||
+2
-1
@@ -7,7 +7,8 @@ package org.jetbrains.kotlin.gradle.dsl
|
||||
|
||||
enum class JsMainFunctionExecutionMode(val mode: String) {
|
||||
CALL("call"),
|
||||
NO_CALL("noCall");
|
||||
NO_CALL("noCall"),
|
||||
;
|
||||
|
||||
companion object {
|
||||
fun fromMode(mode: String): JsMainFunctionExecutionMode =
|
||||
|
||||
+2
-1
@@ -10,7 +10,8 @@ enum class JsModuleKind(val kind: String) {
|
||||
MODULE_PLAIN("plain"),
|
||||
MODULE_ES("es"),
|
||||
MODULE_COMMONJS("commonjs"),
|
||||
MODULE_UMD("umd");
|
||||
MODULE_UMD("umd"),
|
||||
;
|
||||
|
||||
companion object {
|
||||
fun fromKind(kind: String): JsModuleKind =
|
||||
|
||||
+2
-1
@@ -8,7 +8,8 @@ package org.jetbrains.kotlin.gradle.dsl
|
||||
enum class JsSourceMapEmbedMode(val mode: String) {
|
||||
SOURCE_MAP_SOURCE_CONTENT_INLINING("inlining"),
|
||||
SOURCE_MAP_SOURCE_CONTENT_NEVER("never"),
|
||||
SOURCE_MAP_SOURCE_CONTENT_ALWAYS("always");
|
||||
SOURCE_MAP_SOURCE_CONTENT_ALWAYS("always"),
|
||||
;
|
||||
|
||||
companion object {
|
||||
fun fromMode(mode: String): JsSourceMapEmbedMode =
|
||||
|
||||
+2
-1
@@ -16,7 +16,8 @@ enum class JvmTarget(val target: String) {
|
||||
JVM_15("15"),
|
||||
JVM_16("16"),
|
||||
JVM_17("17"),
|
||||
JVM_18("18");
|
||||
JVM_18("18"),
|
||||
;
|
||||
|
||||
companion object {
|
||||
fun fromTarget(target: String): JvmTarget =
|
||||
|
||||
+2
-1
@@ -15,7 +15,8 @@ enum class KotlinVersion(val version: String) {
|
||||
KOTLIN_1_6("1.6"),
|
||||
KOTLIN_1_7("1.7"),
|
||||
KOTLIN_1_8("1.8"),
|
||||
KOTLIN_1_9("1.9");
|
||||
KOTLIN_1_9("1.9"),
|
||||
;
|
||||
|
||||
companion object {
|
||||
fun fromVersion(version: String): KotlinVersion =
|
||||
|
||||
Reference in New Issue
Block a user