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)
|
case.label.detach(case)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val cases = switchCasesToWhenCases(element.cases)
|
val cases = switchCasesToWhenCases(element.cases).moveElseCaseToTheEnd()
|
||||||
val whenStatement = JKKtWhenStatementImpl(element.expression, cases)
|
val whenStatement = JKKtWhenStatementImpl(element.expression, cases)
|
||||||
return recurse(whenStatement)
|
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> =
|
private fun switchCasesToWhenCases(cases: List<JKJavaSwitchCase>): List<JKKtWhenCase> =
|
||||||
if (cases.isEmpty()) emptyList()
|
if (cases.isEmpty()) emptyList()
|
||||||
else {
|
else {
|
||||||
|
|||||||
Reference in New Issue
Block a user