New J2K: Place else case in the end in switch statement conversion
This commit is contained in:
committed by
Ilya Kirillov
parent
115fe2cb88
commit
3ea1a937c0
@@ -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<JKKtWhenCase>.moveElseCaseToTheEnd(): List<JKKtWhenCase> =
|
||||
sortedBy { it.labels.any { it is JKKtElseWhenLabel } }
|
||||
|
||||
private fun switchCasesToWhenCases(cases: List<JKJavaSwitchCase>): List<JKKtWhenCase> =
|
||||
if (cases.isEmpty()) emptyList()
|
||||
else {
|
||||
|
||||
Reference in New Issue
Block a user