// !LANGUAGE: +ContextReceivers // TARGET_BACKEND: JVM_IR // WITH_STDLIB class A(val ok: String) context(A) class B(oValue: Boolean = true, kValue: Boolean = true) { var o: Boolean var k: Boolean init { o = oValue k = kValue } constructor(oValue: String, kValue: String) : this(oValue == "O", kValue == "K") fun result() = if (o && k) ok else "fail" } fun box(): String { val a = A("OK") with (a) { val results = listOf( B(true, true).result(), B("O", "K").result(), B().result() ) return if (results.all { it == "OK" }) "OK" else "fail" } }