[PSI2IR] Support context receivers on classes
This commit is contained in:
committed by
TeamCityServer
parent
307f318c9e
commit
aaabf5e1ca
@@ -0,0 +1,32 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
|
||||
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"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user