x?.y is now nullable even if y is Unit + three tests + codegen test fix + source code fix #KT-7936 Fixed #KT-8347 Fixed

This commit is contained in:
Mikhail Glukhikh
2015-08-04 15:35:15 +03:00
parent 850580dc87
commit 5b31560808
11 changed files with 80 additions and 3 deletions
@@ -0,0 +1,9 @@
fun foo(x: Int?) {
// Both parts of the Elvis should be alive, see KT-7936
x?.let {
smth()
}?: orElse()
}
fun smth() {}
fun orElse() {}
@@ -0,0 +1,5 @@
package
internal fun foo(/*0*/ x: kotlin.Int?): kotlin.Unit
internal fun orElse(): kotlin.Unit
internal fun smth(): kotlin.Unit