FIR: add UnsafeCall resolution diagnostics

Previously unsafe call is reported as part of InapplicableWrongReceiver.
This makes it difficult for the downstream checkers to report different
diagnostics.
This commit is contained in:
Tianyu Geng
2021-04-08 21:17:01 +03:00
committed by Mikhail Glukhikh
parent 43a2ad0467
commit 6a03f31e50
62 changed files with 283 additions and 283 deletions
@@ -80,7 +80,7 @@ operator fun <T> Foo6<T>.invoke(x: Int) {}
fun main(x: Bar6<String>?) {
x?.value(1)
x?.value.<!NONE_APPLICABLE!>invoke<!>(1)
x?.value<!UNSAFE_CALL!>.<!>invoke(1)
}
// Test case 7: top-level generic invoke and invoke with compatible additional dispatch recevier
@@ -108,7 +108,7 @@ operator fun Foo8<String>.invoke(x: Int) {}
fun main(x: Bar8<String>?) {
x?.value(1)
x?.value.<!NONE_APPLICABLE!>invoke<!>(1)
x?.value<!UNSAFE_CALL!>.<!>invoke(1)
}
// Test case 9: additional receiver, generic invoke with pure type perameter receiver
@@ -12,7 +12,7 @@ fun test(a: A) {
with("") {
a.x(<!NO_VALUE_FOR_PARAMETER!>)<!>
(a.x)(<!NO_VALUE_FOR_PARAMETER!>)<!>
<!UNSAFE_IMPLICIT_INVOKE_CALL!>(a.x)<!>()
if (a.x != null) {
a.x(<!NO_VALUE_FOR_PARAMETER!>)<!> // todo
(a.x)()