FIR checker: differentiate UNSAFE_CALL from INAPPLICABLE_CANDIDATE
To do so, inside the root cause of inapplicable candidate errors, we will record expected/actual type of receiver, if any. That will help identifying inapplicable calls on nullable receiver.
This commit is contained in:
committed by
Mikhail Glukhikh
parent
4b823eca21
commit
e72ddbcbfe
+2
-2
@@ -7,7 +7,7 @@ public fun foo(x: String?, z: String?): Int {
|
||||
gav(if (x == null) break else x, z!!)
|
||||
} while (bar())
|
||||
// z is nullable despite of z!!
|
||||
z.<!INAPPLICABLE_CANDIDATE!>length<!>
|
||||
z.<!UNSAFE_CALL!>length<!>
|
||||
// x is null because of the break
|
||||
return x.<!INAPPLICABLE_CANDIDATE!>length<!>
|
||||
return x.<!UNSAFE_CALL!>length<!>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user