Files
kotlin-fork/compiler/testData/ir/irText/expressions/kt30796.fir.kt.txt
T
Denis.Zharkov 883b18a0c6 FIR: Preserve non-custom attributes after substitution
The test is being fixed since synthetic call for elvis has @Exact-attribute on return type
2021-11-26 19:39:45 +03:00

86 lines
1.8 KiB
Plaintext
Vendored

fun <T : Any?> magic(): T {
return throw Exception()
}
fun <T : Any?> test(value: T, value2: T) {
val x1: Any = { // BLOCK
val <elvis>: T = value
when {
EQEQ(arg0 = <elvis>, arg1 = null) -> 42
else -> <elvis>
}
}
val x2: Any = { // BLOCK
val <elvis>: T = value
when {
EQEQ(arg0 = <elvis>, arg1 = null) -> { // BLOCK
val <elvis>: T = value2
when {
EQEQ(arg0 = <elvis>, arg1 = null) -> 42
else -> <elvis>
}
}
else -> <elvis>
}
}
val x3: Any = { // BLOCK
val <elvis>: Any? = { // BLOCK
val <elvis>: T = value
when {
EQEQ(arg0 = <elvis>, arg1 = null) -> value2
else -> <elvis>
}
}
when {
EQEQ(arg0 = <elvis>, arg1 = null) -> 42
else -> <elvis>
}
}
val x4: Any = { // BLOCK
val <elvis>: Any? = { // BLOCK
val <elvis>: T = value
when {
EQEQ(arg0 = <elvis>, arg1 = null) -> value2
else -> <elvis>
}
}
when {
EQEQ(arg0 = <elvis>, arg1 = null) -> 42
else -> <elvis>
}
}
val x5: Any = { // BLOCK
val <elvis>: Any? = magic<Any?>()
when {
EQEQ(arg0 = <elvis>, arg1 = null) -> 42
else -> <elvis>
}
}
val x6: Any = { // BLOCK
val <elvis>: Any? = { // BLOCK
val <elvis>: T = value
when {
EQEQ(arg0 = <elvis>, arg1 = null) -> magic<Any?>()
else -> <elvis>
}
}
when {
EQEQ(arg0 = <elvis>, arg1 = null) -> 42
else -> <elvis>
}
}
val x7: Any = { // BLOCK
val <elvis>: Any? = { // BLOCK
val <elvis>: Any? = magic<Any?>()
when {
EQEQ(arg0 = <elvis>, arg1 = null) -> value
else -> <elvis>
}
}
when {
EQEQ(arg0 = <elvis>, arg1 = null) -> 42
else -> <elvis>
}
}
}