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
@@ -0,0 +1,27 @@
// FILE: p/My.java
package p;
import org.jetbrains.annotations.*;
class My {
@Nullable static String create() {
return "";
}
}
// FILE: test.kt
package p
fun bar(x: String) = x
fun test(x: String?): Any {
val y = My.create()
val z = x ?: y!!
bar(<!TYPE_MISMATCH!>y<!>)
// !! / ?. is necessary here, because y!! above may not be executed
y?.hashCode()
y!!.hashCode()
return z
}