mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-17 00:21:28 +00:00
In case of inline it should be same descriptor (except of fake override), In general case getter could be synthetic accessor and in such case it's not inline
28 lines
443 B
Kotlin
Vendored
28 lines
443 B
Kotlin
Vendored
// 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
|
|
}
|