Elvis DFA: now only left part is taken into account #KT-9100 Fixed

I had to fix a few incorrect tests using something like x!! in Elvis right part, and also one bug in our code
This commit is contained in:
Mikhail Glukhikh
2015-09-09 15:59:06 +03:00
committed by Mikhail Glukhikh
parent 9fd968d59e
commit 9b11b5300c
13 changed files with 103 additions and 13 deletions
@@ -1,8 +1,8 @@
public fun foo(x: String?, y: String?): Int {
while (true) {
(if (x != null) break else y) ?: y!!
// x is not null in both branches
<!DEBUG_INFO_SMARTCAST!>y<!>.length()
// y is not null in both branches but it's hard to determine
y<!UNSAFE_CALL!>.<!>length()
}
// y can be null because of the break
return y<!UNSAFE_CALL!>.<!>length()