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
+3
-3
@@ -8,7 +8,7 @@
|
||||
*/
|
||||
fun case1() {
|
||||
val x : Case1? = Case1()
|
||||
x.<!INAPPLICABLE_CANDIDATE!>x<!> = "0"
|
||||
x.x = "0"
|
||||
x?.x = "0"
|
||||
<!VARIABLE_EXPECTED!>x::x<!> = TODO()
|
||||
}
|
||||
@@ -24,7 +24,7 @@ class Case1{
|
||||
*/
|
||||
fun case2() {
|
||||
val x : Case2? = Case2(null)
|
||||
x.<!INAPPLICABLE_CANDIDATE!>x<!> = "0"
|
||||
x.x = "0"
|
||||
x?.x = "0"
|
||||
<!VARIABLE_EXPECTED!>x::x<!> = TODO()
|
||||
}
|
||||
@@ -37,7 +37,7 @@ class Case2(val x: Any?) {}
|
||||
*/
|
||||
fun case3() {
|
||||
val x : Case3? = Case3()
|
||||
x.<!INAPPLICABLE_CANDIDATE!>x<!> = "0"
|
||||
x.x = "0"
|
||||
x?.x = "0"
|
||||
<!VARIABLE_EXPECTED!>x::x<!> = TODO()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user