in build-logic/generatorlegacybuild/src/main/kotlin/karakum/cesium/Enum.kt [9:32]
override fun toCode(): String {
val body = source.body
.substringAfter("\n ")
.removeSuffix("}")
.replace(",\n *", "__COMMA__\n *")
.split(Regex(""",\n\s+"""))
.asSequence()
.map { it.replace("__COMMA__\n", ",\n") }
.flatMap { parseTopDefinition(it) }
.map { EnumConstant(it, this) }
.joinToString("\n\n") {
it.toCode()
}
return DEFAULT_PACKAGE +
source.doc(DocLink(this)) +
"\n" +
"sealed /* enum */\n" +
"external interface $name {\n" +
"companion object {\n\n" +
"$body\n" +
"}\n" +
"}"
}