Files
kotlin-fork/compiler/testData/ir/irText/expressions/whenSmartCastToEnum.fir.kt.txt
T
2021-10-20 22:05:24 +03:00

55 lines
1.1 KiB
Plaintext
Vendored

enum class En : Enum<En> {
private constructor() /* primary */ {
super/*Enum*/<En>()
/* <init>() */
}
A = En()
B = En()
C = En()
fun values(): Array<En> /* Synthetic body for ENUM_VALUES */
fun valueOf(value: String): En /* Synthetic body for ENUM_VALUEOF */
}
fun test() {
var r: String = ""
val x: Any? = En.A
when {
x is En -> { // BLOCK
val tmp0_subject: En = x /*as En */
when {
EQEQ(arg0 = tmp0_subject, arg1 = En.A) -> { // BLOCK
r = "when1"
}
EQEQ(arg0 = tmp0_subject, arg1 = En.B) -> { // BLOCK
}
EQEQ(arg0 = tmp0_subject, arg1 = En.C) -> { // BLOCK
}
else -> noWhenBranchMatchedException()
}
}
}
val y: Any = En.A
when {
y is En -> { // BLOCK
val tmp1_subject: En = y /*as En */
when {
EQEQ(arg0 = tmp1_subject, arg1 = En.A) -> { // BLOCK
r = "when2"
}
EQEQ(arg0 = tmp1_subject, arg1 = En.B) -> { // BLOCK
}
EQEQ(arg0 = tmp1_subject, arg1 = En.C) -> { // BLOCK
}
else -> noWhenBranchMatchedException()
}
}
}
}