Files
Brian Norman 0ff9982b31 [FIR] Additional errors to distinguish resolution to classifier cases
When a call is resolved to a classifier, only a single error message was
being used for multiple cases. This lead to confusion as the default
message may not be applicable to a given error case. Added additional
errors and messages to distinguish between these error cases.

#KT-57251 Fixed
2023-06-16 16:26:50 +00:00

40 lines
887 B
Kotlin
Vendored

// !DIAGNOSTICS: -UNUSED_VARIABLE
object X {
interface A
object B
class C
}
fun testX() {
val interface_as_fun = X.<!INTERFACE_AS_FUNCTION!>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.<!INTERFACE_AS_FUNCTION!>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<!>
}