f3da26946b
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
40 lines
893 B
Kotlin
Vendored
40 lines
893 B
Kotlin
Vendored
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
|
|
|
object X {
|
|
interface A
|
|
|
|
object B
|
|
class C
|
|
}
|
|
|
|
fun testX() {
|
|
val interface_as_fun = X.<!RESOLUTION_TO_CLASSIFIER!>A<!>()
|
|
val interface_as_val = X.<!NO_COMPANION_OBJECT!>A<!>
|
|
|
|
val object_as_fun = X.<!UNRESOLVED_REFERENCE!>B<!>()
|
|
val class_as_val = X.<!NO_COMPANION_OBJECT!>C<!>
|
|
}
|
|
|
|
class Y {
|
|
interface A
|
|
|
|
object B
|
|
class C
|
|
}
|
|
|
|
fun testY() {
|
|
val interface_as_fun = Y.<!RESOLUTION_TO_CLASSIFIER!>A<!>()
|
|
val interface_as_val = Y.<!NO_COMPANION_OBJECT!>A<!>
|
|
|
|
val object_as_fun = Y.<!UNRESOLVED_REFERENCE!>B<!>()
|
|
val class_as_val = Y.<!NO_COMPANION_OBJECT!>C<!>
|
|
}
|
|
|
|
fun test(x: X) {
|
|
val interface_as_fun = x.<!UNRESOLVED_REFERENCE!>A<!>()
|
|
val interface_as_val = x.<!UNRESOLVED_REFERENCE!>A<!>
|
|
|
|
val object_as_fun = x.<!UNRESOLVED_REFERENCE!>B<!>()
|
|
val class_as_val = x.<!UNRESOLVED_REFERENCE!>C<!>
|
|
}
|