Support "::foo" as a short-hand for "this::foo"

#KT-15667 Fixed
This commit is contained in:
Alexander Udalov
2017-08-24 17:15:42 +03:00
parent d2ff821a3b
commit 2877314313
24 changed files with 195 additions and 116 deletions
@@ -0,0 +1,28 @@
// !LANGUAGE: -CallableReferencesToClassMembersWithEmptyLHS
class A {
fun memberFunction() {}
val memberProperty: Int get() = 42
fun test() {
(::<!UNSUPPORTED_FEATURE!>memberFunction<!>)()
(::<!UNSUPPORTED_FEATURE!>extensionFunction<!>)()
(::<!UNSUPPORTED_FEATURE!>memberProperty<!>)()
(::<!UNSUPPORTED_FEATURE!>extensionProperty<!>)()
}
inner class B {
fun memberFunction() { }
val memberProperty: Int get() = 43
fun test() {
(::<!UNSUPPORTED_FEATURE!>memberFunction<!>)()
(::<!UNSUPPORTED_FEATURE!>extensionFunction<!>)()
(::<!UNSUPPORTED_FEATURE!>memberProperty<!>)()
(::<!UNSUPPORTED_FEATURE!>extensionProperty<!>)()
}
}
}
fun A.extensionFunction() {}
val A.extensionProperty: Int get() = 44