mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-12 15:53:40 +00:00
This syntax is reserved to be likely used in the future as a shorthand for "this::foo" where the resulting expression doesn't take the receiver as a parameter but has "this" already bound to it
41 lines
1.0 KiB
Kotlin
Vendored
41 lines
1.0 KiB
Kotlin
Vendored
// !DIAGNOSTICS: -UNUSED_EXPRESSION
|
|
|
|
val topLevelVal = 1
|
|
fun topLevelFun() = 2
|
|
|
|
val A.extensionVal: Int get() = 3
|
|
fun A.extensionFun(): Int = 4
|
|
|
|
class A {
|
|
val memberVal = 5
|
|
fun memberFun() = 6
|
|
|
|
val ok1 = ::topLevelVal
|
|
val ok2 = ::topLevelFun
|
|
|
|
fun fail1() {
|
|
::<!CALLABLE_REFERENCE_TO_MEMBER_OR_EXTENSION_WITH_EMPTY_LHS!>extensionVal<!>
|
|
::<!CALLABLE_REFERENCE_TO_MEMBER_OR_EXTENSION_WITH_EMPTY_LHS!>extensionFun<!>
|
|
}
|
|
|
|
fun fail2() {
|
|
::<!CALLABLE_REFERENCE_TO_MEMBER_OR_EXTENSION_WITH_EMPTY_LHS!>memberVal<!>
|
|
::<!CALLABLE_REFERENCE_TO_MEMBER_OR_EXTENSION_WITH_EMPTY_LHS!>memberFun<!>
|
|
}
|
|
}
|
|
|
|
|
|
|
|
val ok1 = ::topLevelVal
|
|
val ok2 = ::topLevelFun
|
|
|
|
fun A.fail1() {
|
|
::<!CALLABLE_REFERENCE_TO_MEMBER_OR_EXTENSION_WITH_EMPTY_LHS!>extensionVal<!>
|
|
::<!CALLABLE_REFERENCE_TO_MEMBER_OR_EXTENSION_WITH_EMPTY_LHS!>extensionFun<!>
|
|
}
|
|
|
|
fun A.fail2() {
|
|
::<!CALLABLE_REFERENCE_TO_MEMBER_OR_EXTENSION_WITH_EMPTY_LHS!>memberVal<!>
|
|
::<!CALLABLE_REFERENCE_TO_MEMBER_OR_EXTENSION_WITH_EMPTY_LHS!>memberFun<!>
|
|
}
|