When by enum:
Generate TABLESWITCH/LOOKUPSWITCH bytecode command in case of "when" by enum entries
This commit is contained in:
committed by
Evgeny Gerashchenko
parent
b2aa249817
commit
5a1c995b5c
@@ -0,0 +1,37 @@
|
||||
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"
|
||||
}
|
||||
}
|
||||
|
||||
fun box() : String {
|
||||
assertEquals("winter_spring", bar1(Season.WINTER))
|
||||
assertEquals("winter_spring", bar1(Season.SPRING))
|
||||
assertEquals("summer", bar1(Season.SUMMER))
|
||||
assertEquals("autumn", bar1(Season.AUTUMN))
|
||||
|
||||
assertEquals("winter_spring", bar2(Season.WINTER))
|
||||
assertEquals("winter_spring", bar2(Season.SPRING))
|
||||
assertEquals("summer", bar2(Season.SUMMER))
|
||||
assertEquals("autumn", bar2(Season.AUTUMN))
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user