Generate switch instruction for 'when' with unsigned subject

This commit is contained in:
Dmitry Petrov
2019-01-16 14:03:33 +03:00
parent 3c2d026128
commit c1de845d29
10 changed files with 100 additions and 5 deletions

View File

@@ -0,0 +1,28 @@
// WITH_RUNTIME
// IGNORE_BACKEND: JVM_IR
const val M1: UInt = 2147483648u
fun testUInt1(x: UInt) =
when (x) {
0u -> "none"
1u -> "one"
2u -> "two"
3u -> "three"
else -> "many"
}
fun testUInt2(x: UInt) =
when (x) {
0u -> "none"
1u -> "one"
2u -> "two"
3u -> "three"
M1 -> "M1"
else -> "many"
}
// 2 SWITCH
// ^ This captures both TABLESWITCH and LOOKUPSWITCH; we don't care about nuances of *SWITCH instruction generation here.
// 0 IF_ICMP