// IGNORE_BACKEND_FIR: JVM_IR // FILE: 1.kt // WITH_RUNTIME package test open class A(var result: String) { var y inline get() = if (this is C) this else A(result) inline set(a: A) { if (this is C) this else A(a.result.also { this.result = it }) } } object C : A("failA") object B : A("failB") // FILE: 2.kt import test.A import test.B.y fun box(): String { y = A("OK") return y.result }