[FIR] Skip redundant INAPPLICABLE_CANDIDATE on call with unresolved callable reference argument

A new resolution diagnostic UnsuccessfulCallableReferenceAtom is
introduced that is used in EagerResolveOfCallableReferences.
No diagnostic is reported on unresolved calls with this diagnostic
because

#KT-59856
This commit is contained in:
Kirill Rakhman
2023-07-18 10:16:26 +02:00
committed by Space Team
parent a55f3c5583
commit 2f3293f99e
49 changed files with 91 additions and 95 deletions
@@ -25,7 +25,7 @@ class A {
expectFunction0Unit(::foo)
expectFunction0String(::foo)
<!INAPPLICABLE_CANDIDATE!>expectFunction1Unit<!>(::<!UNRESOLVED_REFERENCE!>foo<!>)
<!INAPPLICABLE_CANDIDATE!>expectFunction1String<!>(::<!UNRESOLVED_REFERENCE!>foo<!>)
expectFunction1Unit(::<!UNRESOLVED_REFERENCE!>foo<!>)
expectFunction1String(::<!UNRESOLVED_REFERENCE!>foo<!>)
}
}
@@ -17,7 +17,7 @@ fun test2() {
fun foo() {}
<!UNRESOLVED_REFERENCE!>Unresolved<!>::foo
<!INAPPLICABLE_CANDIDATE!>foo<!>(<!UNRESOLVED_REFERENCE!>Unresolved<!>::foo)
<!INAPPLICABLE_CANDIDATE!>foo<!>(<!UNRESOLVED_REFERENCE!>Unresolved<!>::unresolved)
foo(<!UNRESOLVED_REFERENCE!>Unresolved<!>::foo)
foo(<!UNRESOLVED_REFERENCE!>Unresolved<!>::unresolved)
::<!UNRESOLVED_REFERENCE!>unresolved<!>
}