27 lines
413 B
Kotlin
Vendored
27 lines
413 B
Kotlin
Vendored
// WITH_RUNTIME
|
|
// FILE: 1.kt
|
|
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
|
|
}
|