When by String constants:
Generate TABLESWITCH/LOOKUPSWITCH bytecode operation for when operator by String constants
This commit is contained in:
committed by
Evgeny Gerashchenko
parent
5a1c995b5c
commit
d4cb822ee8
@@ -0,0 +1,38 @@
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
fun foo1(x : String) : String {
|
||||
when (x) {
|
||||
"abc", "cde" -> return "abc_cde"
|
||||
"efg", "ghi" -> return "efg_ghi"
|
||||
}
|
||||
|
||||
return "other"
|
||||
}
|
||||
|
||||
fun foo2(x : String) : String {
|
||||
when (x) {
|
||||
"abc", "cde" -> return "abc_cde"
|
||||
"efg", "ghi" -> return "efg_ghi"
|
||||
else -> return "other"
|
||||
}
|
||||
}
|
||||
|
||||
fun box() : String {
|
||||
//foo1
|
||||
assertEquals("abc_cde", foo1("abc"))
|
||||
assertEquals("abc_cde", foo1("cde"))
|
||||
assertEquals("efg_ghi", foo1("efg"))
|
||||
assertEquals("efg_ghi", foo1("ghi"))
|
||||
|
||||
assertEquals("other", foo1("xyz"))
|
||||
|
||||
//foo2
|
||||
assertEquals("abc_cde", foo2("abc"))
|
||||
assertEquals("abc_cde", foo2("cde"))
|
||||
assertEquals("efg_ghi", foo2("efg"))
|
||||
assertEquals("efg_ghi", foo2("ghi"))
|
||||
|
||||
assertEquals("other", foo2("xyz"))
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user