Files
kotlin-fork/compiler/testData/ir/irText/expressions/elvis.fir.kt.txt
T
Denis.Zharkov 1e0d9f4075 FIR2IR: Do not add implicit casts for types with different nullability
For smart casts, elvises, etc., there are no implicit casts in psi2fir
in changed test data
2021-01-29 10:50:22 +03:00

64 lines
1.0 KiB
Plaintext
Vendored

val p: Any?
field = null
get
fun foo(): Any? {
return null
}
fun test1(a: Any?, b: Any): Any {
return { // BLOCK
val <elvis>: Any? = a
when {
EQEQ(arg0 = <elvis>, arg1 = null) -> b
else -> <elvis>
}
}
}
fun test2(a: String?, b: Any): Any {
return { // BLOCK
val <elvis>: String? = a
when {
EQEQ(arg0 = <elvis>, arg1 = null) -> b
else -> <elvis>
}
}
}
fun test3(a: Any?, b: Any?): String {
when {
b !is String -> return ""
}
when {
a !is String? -> return ""
}
return { // BLOCK
val <elvis>: String? = a /*as String? */
when {
EQEQ(arg0 = <elvis>, arg1 = null) -> b /*as String */
else -> <elvis>
}
}
}
fun test4(x: Any): Any {
return { // BLOCK
val <elvis>: Any? = <get-p>()
when {
EQEQ(arg0 = <elvis>, arg1 = null) -> x
else -> <elvis>
}
}
}
fun test5(x: Any): Any {
return { // BLOCK
val <elvis>: Any? = foo()
when {
EQEQ(arg0 = <elvis>, arg1 = null) -> x
else -> <elvis>
}
}
}