| // TARGET_BACKEND: JVM_IR | |
| // IGNORE_BACKEND_K1: ANY | |
| // !LANGUAGE: +ContextReceivers | |
| class Ctx(val value: Int) | |
| fun Ctx.foo() = value + 4 | |
| context(Ctx) | |
| class A { | |
| fun bar(body: Ctx.() -> Int): Int { | |
| return foo() * | |
| body() | |
| } | |
| } | |
| fun box(): String { | |
| val res = with(Ctx(3)) { | |
| A().bar { this.value * 2 } | |
| } | |
| return if (res == 42) "OK" else "NOK: $res" | |
| } |