Prohibit callable references to object members

To be able to make them more useful in the future, i.e. bound to the object
instance
This commit is contained in:
Alexander Udalov
2015-10-14 16:39:43 +03:00
parent 63dfe13c43
commit ced1edcf98
26 changed files with 122 additions and 218 deletions
@@ -1,44 +0,0 @@
import kotlin.platform.platformStatic
object A {
val b: String = "OK"
@platformStatic var c: String = "Fail"
@platformStatic fun test1() : String {
return b
}
@platformStatic fun test2() : String {
return test1()
}
fun test3(): String {
return "1".test5()
}
@platformStatic fun test4(): String {
return "1".test5()
}
@platformStatic fun String.test5() : String {
return this + b
}
}
fun box(): String {
if ((A::test1)(A) != "OK") return "fail 1"
if ((A::test2)(A) != "OK") return "fail 2"
if ((A::test3)(A) != "1OK") return "fail 3"
if ((A::test4)(A) != "1OK") return "fail 4"
(A::c).set(A, "OK")
if (((A::c).get(A)) != "OK") return "fail 5"
return "OK"
}