FIR2IR: Fix case of using context receivers in property initializers

This commit is contained in:
Denis.Zharkov
2022-05-05 11:24:50 +03:00
committed by teamcity
parent b87412c5af
commit e632689d90
17 changed files with 52 additions and 23 deletions
@@ -1,6 +1,5 @@
// !LANGUAGE: +ContextReceivers
// TARGET_BACKEND: JVM_IR
// IGNORE_BACKEND_FIR: JVM_IR
// FIR status: context receivers aren't yet supported
class O(val o: String)
@@ -15,4 +14,4 @@ fun box(): String {
val ok = OK("K")
ok.result
}
}
}
@@ -1,6 +1,5 @@
// !LANGUAGE: +ContextReceivers
// TARGET_BACKEND: JVM_IR
// IGNORE_BACKEND_FIR: JVM_IR
// FIR status: context receivers aren't yet supported
class A {
@@ -15,4 +14,4 @@ class B {
typealias C = B
fun box(): String =
with(A()) { C().result }
with(A()) { C().result }
@@ -1,6 +1,5 @@
// !LANGUAGE: +ContextReceivers
// TARGET_BACKEND: JVM_IR
// IGNORE_BACKEND_FIR: JVM_IR
// FIR status: context receivers aren't yet supported
// MODULE: lib
@@ -0,0 +1,19 @@
// !LANGUAGE: +ContextReceivers
// TARGET_BACKEND: JVM_IR
class Components(val x: String)
context(Components)
abstract class A(val y: String) {
val w: String = x
fun foo(): String = w + y
}
context(Components)
class B(y: String) : A(y)
fun box(): String {
return with(Components("O")) {
B("K").foo()
}
}