diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/SwitchStatementConversion.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/SwitchStatementConversion.kt index 4c0d175213d..464a4338545 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/SwitchStatementConversion.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/SwitchStatementConversion.kt @@ -25,11 +25,14 @@ class SwitchStatementConversion(private val context: ConversionContext) : Recurs case.label.detach(case) } } - val cases = switchCasesToWhenCases(element.cases) + val cases = switchCasesToWhenCases(element.cases).moveElseCaseToTheEnd() val whenStatement = JKKtWhenStatementImpl(element.expression, cases) return recurse(whenStatement) } + private fun List.moveElseCaseToTheEnd(): List = + sortedBy { it.labels.any { it is JKKtElseWhenLabel } } + private fun switchCasesToWhenCases(cases: List): List = if (cases.isEmpty()) emptyList() else {