set explicit receiver kind properly for calls

This commit is contained in:
Svetlana Isakova
2013-12-04 18:28:08 +04:00
parent cf5174d798
commit 928f77ffce
26 changed files with 612 additions and 35 deletions
@@ -0,0 +1,20 @@
// !CALL: foo
// !EXPLICIT_RECEIVER_KIND: NO_EXPLICIT_RECEIVER
// !THIS_OBJECT: A
// !RECEIVER_ARGUMENT: B
class A {
fun B.foo() {}
}
trait B
fun bar(a: A, b: B) {
with (a) {
with (b) {
foo()
}
}
}
fun <T, R> with(receiver: T, f: T.() -> R) : R = receiver.f()