FIR checker: report UNSAFE_CALL for overloaded function calls

Previously if an unsafe call is to an overloaded function, FIR checkers
report NONE_APPLICABLE. This change instead report them as UNSAFE_CALL
or its variants.
This commit is contained in:
Tianyu Geng
2021-04-09 21:26:07 +03:00
committed by Mikhail Glukhikh
parent 92df1f575a
commit 454ae3b17a
30 changed files with 83 additions and 142 deletions
@@ -16,7 +16,7 @@ fun foo(): Int {
k.run()
val d: Int = c
// a is not null because of k constructor, but we do not know it
return a <!NONE_APPLICABLE!>+<!> d
return a <!UNSAFE_OPERATOR_CALL!>+<!> d
}
else return -1
}
@@ -11,7 +11,7 @@ fun foo(): Int {
}
k.run()
val d: Int = c
return a <!NONE_APPLICABLE!>+<!> d
return a <!UNSAFE_OPERATOR_CALL!>+<!> d
}
else return -1
}
@@ -15,7 +15,7 @@ fun foo(): Int {
}
k.run()
val d: Int = c
return a <!NONE_APPLICABLE!>+<!> d
return a <!UNSAFE_OPERATOR_CALL!>+<!> d
}
else return -1
}
@@ -15,7 +15,7 @@ fun bar(arg: Long?): Long {
return i<!UNSAFE_CALL!>--<!> + i
}
if (i++ == 7L) {
return i++ <!NONE_APPLICABLE!>+<!> i
return i++ <!UNSAFE_OPERATOR_CALL!>+<!> i
}
return 0L
}
@@ -2,5 +2,5 @@
fun foo(): Int {
var i: Int? = 42
i = null
return i <!NONE_APPLICABLE!>+<!> 1
return i <!UNSAFE_OPERATOR_CALL!>+<!> 1
}