New J2K: Fix printing no semicolon in enum class
This commit is contained in:
committed by
Ilya Kirillov
parent
dcf7895314
commit
17b96b8240
@@ -615,8 +615,18 @@ class NewCodeBuilder {
|
|||||||
override fun visitClassBody(classBody: JKClassBody) {
|
override fun visitClassBody(classBody: JKClassBody) {
|
||||||
val declarationsToPrint = classBody.declarations.filterNot { it is JKKtPrimaryConstructor }
|
val declarationsToPrint = classBody.declarations.filterNot { it is JKKtPrimaryConstructor }
|
||||||
printer.block(multiline = true) {
|
printer.block(multiline = true) {
|
||||||
renderEnumConstants(declarationsToPrint.filterIsInstance())
|
val enumConstants = declarationsToPrint.filterIsInstance<JKEnumConstant>()
|
||||||
renderNonEnumClassDeclarations(declarationsToPrint.filterNot { it is JKEnumConstant })
|
val otherDeclarations = declarationsToPrint.filterNot { it is JKEnumConstant }
|
||||||
|
renderEnumConstants(enumConstants)
|
||||||
|
if ((classBody.parent as? JKClass)?.classKind == JKClass.ClassKind.ENUM
|
||||||
|
&& otherDeclarations.isNotEmpty()
|
||||||
|
) {
|
||||||
|
printer.printlnWithNoIndent(";")
|
||||||
|
}
|
||||||
|
if (enumConstants.isNotEmpty() && otherDeclarations.isNotEmpty()) {
|
||||||
|
printer.println()
|
||||||
|
}
|
||||||
|
renderNonEnumClassDeclarations(otherDeclarations)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user