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