[FIR] Implement new bound smartcast algorithm

#KT-36055 Fixed
This commit is contained in:
Dmitriy Novozhilov
2020-02-10 17:14:58 +03:00
parent 40f907ec2f
commit 6735cc8937
103 changed files with 2197 additions and 309 deletions
@@ -6,10 +6,10 @@ class A() {
fun f(): Unit {
var x: Int? = 1
x = null
x + 1
x plus 1
x <!INAPPLICABLE_CANDIDATE!>+<!> 1
x <!INAPPLICABLE_CANDIDATE!>plus<!> 1
x < 1
x += 1
<!UNRESOLVED_REFERENCE!>x += 1<!>
x == 1
x != 1
@@ -22,8 +22,8 @@ fun f(): Unit {
x === 1
x !== 1
x..2
x in 1..2
x<!INAPPLICABLE_CANDIDATE!>..<!>2
x <!INAPPLICABLE_CANDIDATE!>in<!> 1..2
val y : Boolean? = true
false || y