Files
kotlin-fork/compiler/testData/diagnostics/tests/resolve/invoke/implicitInvoke.kt
T
2015-10-17 14:45:53 +03:00

35 lines
414 B
Kotlin
Vendored

class B
class A {
operator fun B.invoke() = 4
}
class X {
operator fun invoke() = 3
}
fun test(a: A, b: B) {
with (a) {
b()
(b)()
}
X()()
val x = X()
x()
(x)()
}
fun test(c: () -> String, e: Int.() -> String) {
c()
(c)()
3.e()
3.(e)()
with(3) {
e()
(e)()
}
}
fun <T, R> with(receiver: T, f: T.() -> R): R = receiver.f()