[NI] Avoid building controversial systems by clipping extra constraints

#KT-23854 Fixed
This commit is contained in:
Mikhail Zarechenskiy
2019-03-01 14:13:56 +03:00
parent 92b40ea9d5
commit 9b3e17f0d7
22 changed files with 155 additions and 34 deletions
@@ -33,5 +33,5 @@ fun testDataFlowInfo2(a: Int?, b: Int?) {
}
fun testTypeMismatch(a: String?, b: Any) {
doInt(<!NI;TYPE_MISMATCH, NI;TYPE_MISMATCH!><!OI;TYPE_MISMATCH!>a<!> ?: <!OI;TYPE_MISMATCH!>b<!><!>)
doInt(<!NI;TYPE_MISMATCH!><!OI;TYPE_MISMATCH!>a<!> ?: <!OI;TYPE_MISMATCH!>b<!><!>)
}
@@ -8,15 +8,15 @@ fun test(a: Int?, b: Int?) {
}
fun test(a: Int?, b: Int?, c: Int?) {
bar(<!NI;TYPE_MISMATCH, NI;TYPE_MISMATCH!>if (a == null) return else if (b == null) return else <!OI;TYPE_MISMATCH!>c<!><!>)
bar(<!NI;TYPE_MISMATCH!>if (a == null) return else if (b == null) return else <!OI;TYPE_MISMATCH!>c<!><!>)
}
fun test(a: Any?, b: Any?, c: Int?) {
bar(<!NI;TYPE_MISMATCH, NI;TYPE_MISMATCH!>if (a == null) if (b == null) <!OI;TYPE_MISMATCH!>c<!> else return else return<!>)
bar(<!NI;TYPE_MISMATCH!>if (a == null) if (b == null) <!OI;TYPE_MISMATCH!>c<!> else return else return<!>)
}
fun test(a: Int?, b: Any?, c: Int?) {
bar(<!NI;TYPE_MISMATCH, NI;TYPE_MISMATCH!>if (a == null) {
bar(<!NI;TYPE_MISMATCH!>if (a == null) {
return
} else {
if (b == null) {