blob: 7e17ce79bfd8b90e01539b7cae33b3af77ff1980 [file]
// LANGUAGE: +ContextParameters
// WITH_STDLIB
external interface Context {
fun action(): String
}
@JsFun("() => ({ action: () => 'OK' })")
external fun get(): Context
context(c: Context)
fun test(): String = c.action()
fun usage1(c: Context): String =
context(c) { test() }
fun usage2(c: Context): String =
with(c) { test() }
context(c: Context)
fun usage3(): String = test()
fun box(): String {
val ctx = get()
val r1 = usage1(ctx)
val r2 = usage2(ctx)
val r3 = context(ctx) { usage3() }
return if (r1 == "OK" && r2 == "OK" && r3 == "OK") "OK"
else "FAIL"
}