mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-03-10 08:31:29 +00:00
31 lines
524 B
Kotlin
Vendored
31 lines
524 B
Kotlin
Vendored
var log = ""
|
|
|
|
class A(p: String) {
|
|
var pp = p
|
|
|
|
init {
|
|
log += "init($p);"
|
|
}
|
|
}
|
|
|
|
operator fun A.plusAssign(s: String) {
|
|
pp += s
|
|
log += "pp = $pp;"
|
|
}
|
|
|
|
inline fun <T, R> T.foo(f: (T) -> R) = f(this)
|
|
|
|
fun <T, R> T.bar(f: (T) -> R) = f(this)
|
|
|
|
fun box(): String {
|
|
"rrr".foo { A(it) } += "aaa"
|
|
|
|
if (log != "init(rrr);pp = rrraaa;") return "1: log = \"$log\""
|
|
|
|
log = ""
|
|
"foo".bar { A(it) } += "baaar"
|
|
|
|
if (log != "init(foo);pp = foobaaar;") return "2: log = \"$log\""
|
|
|
|
return "OK"
|
|
} |