interface IC1 { | |
abstract operator fun component1(): Int | |
} | |
interface IC2 { | |
abstract operator fun component2(): String | |
} | |
fun test(x: Any) { | |
when { | |
when { | |
x is IC1 -> x is IC2 | |
else -> false | |
} -> { // BLOCK | |
// COMPOSITE { | |
val tmp0_container: Any = x | |
val x1: Int = tmp0_container /*as IC1 */.component1() | |
val x2: String = tmp0_container /*as IC2 */.component2() | |
// } | |
} | |
} | |
} |