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
@@ -21,12 +21,14 @@ fun testElvis(a: Int?, b: Int?) {
fun testDataFlowInfo1(a: Int?, b: Int?) {
val c: Int = a ?: b!!
doInt(c)
<!DEBUG_INFO_SMARTCAST!>b<!> + 1
// b is nullable if a != null
b <!UNSAFE_INFIX_CALL!>+<!> 1
}
fun testDataFlowInfo2(a: Int?, b: Int?) {
doInt(a ?: b!!)
<!DEBUG_INFO_SMARTCAST!>b<!> + 1
// b is nullable if a != null
b <!UNSAFE_INFIX_CALL!>+<!> 1
}
fun testTypeMismatch(a: String?, b: Any) {