[FIR] Change priority of K2_VISIBILITY_ERROR CandidateApplicability

In K1 analogue of `K2_VISIBILITY_ERROR` is `K1_RUNTIME_ERROR`, so
  candidates with `K2_VISIBILITY_ERROR` should win over innaplicable
  candidates with `INAPPLICABLE`, `INAPPLICABLE_ARGUMENTS_MAPPING_ERROR`
  or `INAPPLICABLE_WRONG_RECEIVER` applicability

This is needed to allow resolution to invisible symbols (and later
  suppress error with `@Suppress("INVISIBLE_SYMBOL", "INVISIBLE_REFERENCE")`

^KT-55026 Fixed
^KT-55234
This commit is contained in:
Dmitriy Novozhilov
2022-12-01 13:15:51 +02:00
committed by Space Team
parent 6c6525ecde
commit f3da26946b
25 changed files with 67 additions and 94 deletions
@@ -1,4 +1,5 @@
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE
// FIR_DIFFERENCE: KT-55234
// FILE: 1.kt
package k
@@ -26,17 +27,17 @@ import k.two
import k.all
fun test() {
<!NONE_APPLICABLE!>zero<!>()
<!NONE_APPLICABLE!>zero<!>(1)
<!NONE_APPLICABLE!>zero<!>("")
<!INVISIBLE_REFERENCE!>zero<!>()
<!INVISIBLE_REFERENCE!>zero<!>(1)
<!INVISIBLE_REFERENCE!>zero<!>("")
one()
one(<!TOO_MANY_ARGUMENTS!>1<!>)
one(<!TOO_MANY_ARGUMENTS!>""<!>)
<!INVISIBLE_REFERENCE!>one<!>(1)
<!INVISIBLE_REFERENCE!>one<!>("")
two()
two(1)
two(<!ARGUMENT_TYPE_MISMATCH!>""<!>)
<!INVISIBLE_REFERENCE!>two<!>("")
all()
all(1)