Control flow graph for safe calls corrected #KT-10913 Fixed

Also #KT-10186 Fixed
Also #KT-5198 Fixed
This commit is contained in:
Mikhail Glukhikh
2016-02-02 16:17:02 +03:00
committed by Mikhail Glukhikh
parent 5ae394fec0
commit a08b8f43b2
15 changed files with 660 additions and 2 deletions
@@ -0,0 +1,12 @@
// See KT-10913 Bogus unreachable code warning
fun fn() : String? = null
fun foo(): String {
val x = fn()?.let { throw Exception() } ?: "unreachable?"
return x
}
fun bar(): String {
val x = fn() ?: return ""
<!UNREACHABLE_CODE!>val <!UNUSED_VARIABLE!>y<!> =<!> x<!UNNECESSARY_SAFE_CALL!>?.<!>let { throw Exception() } <!USELESS_ELVIS, UNREACHABLE_CODE!>?: "unreachable"<!>
<!UNREACHABLE_CODE!>return y<!>
}