05ff2b1292
FIR translates:
```
when (x) {
1, 2, 3 -> action
else -> other_action
}
```
to an IR structure with nested ors:
```
if ((x == 1 || x == 2) || (x == 3)) action
else other_action
```
This change allows that to turn into switch instructions in the
JVM backend.
27 lines
485 B
Kotlin
Vendored
27 lines
485 B
Kotlin
Vendored
import kotlin.test.assertEquals
|
|
|
|
enum class Season {
|
|
WINTER,
|
|
SPRING,
|
|
SUMMER,
|
|
AUTUMN
|
|
}
|
|
|
|
fun bar1(x : Season) : String {
|
|
return when (x) {
|
|
Season.WINTER, Season.SPRING -> "winter_spring"
|
|
Season.SUMMER -> "summer"
|
|
else -> "autumn"
|
|
}
|
|
}
|
|
|
|
fun bar2(x : Season) : String {
|
|
return when (x) {
|
|
Season.WINTER, Season.SPRING -> "winter_spring"
|
|
Season.SUMMER -> "summer"
|
|
Season.AUTUMN -> "autumn"
|
|
}
|
|
}
|
|
|
|
// 2 TABLESWITCH
|