Files
kotlin-fork/compiler/testData/diagnostics/tests/callableReference/bound/companionObject.kt
T
Victor Petukhov ee728b6902 Use the new type inference for top-level callable reference resolution
^KT-47797 Fixed
^KT-47987 Fixed
^KT-45034 Fixed
^KT-48446 Fixed
^KT-13934 Fixed
2021-09-27 16:12:27 +03:00

42 lines
783 B
Kotlin
Vendored

// !CHECK_TYPE
// !DIAGNOSTICS: -UNUSED_EXPRESSION
package test
import checkSubtype
class C {
companion object {
fun foo(): String = "companion"
fun bar() {}
}
fun foo(): Int = 0
}
fun test() {
val r1 = C::foo
checkSubtype<(C) -> Int>(r1)
val r2 = test.C::foo
checkSubtype<(C) -> Int>(r2)
val r3 = C.Companion::foo
checkSubtype<() -> String>(r3)
val r4 = test.C.Companion::foo
checkSubtype<() -> String>(r4)
val r5 = <!PARENTHESIZED_COMPANION_LHS_DEPRECATION!>(C)<!>::foo
checkSubtype<() -> String>(r5)
val r6 = <!PARENTHESIZED_COMPANION_LHS_DEPRECATION!>(test.C)<!>::foo
checkSubtype<() -> String>(r6)
val c = C.Companion
val r7 = c::foo
checkSubtype<() -> String>(r7)
C::bar
}