| sealed class A { | |
| class B : A() | |
| class C : A() | |
| } | |
| inline fun foo(): A = A.B() | |
| fun box(): String { | |
| val a: A = foo() | |
| val b: Boolean | |
| when (a) { | |
| is A.B -> b = true | |
| is A.C -> b = false | |
| } | |
| return if (b) "OK" else "FAIL" | |
| } | |
| // 0 TABLESWITCH | |
| // 0 LOOKUPSWITCH | |
| // 0 ATHROW | |
| // 0 INSTANCEOF | |
| // 0 FAIL | |
| // 0 POP |