51 lines
829 B
Kotlin
Vendored
51 lines
829 B
Kotlin
Vendored
// IGNORE_BACKEND_FIR: JVM_IR
|
|
// TARGET_BACKEND: JVM
|
|
|
|
// WITH_RUNTIME
|
|
|
|
object A {
|
|
|
|
@JvmStatic var a: Int = 1
|
|
|
|
var b: Int = 1
|
|
@JvmStatic get
|
|
|
|
var c: Int = 1
|
|
@JvmStatic set
|
|
|
|
}
|
|
|
|
var holder = ""
|
|
fun getA(): A {
|
|
holder += "getA()"
|
|
return A
|
|
}
|
|
|
|
|
|
fun box(): String {
|
|
|
|
var p = A.a++
|
|
if (p != 1 || A.a != 2) return "fail 1"
|
|
|
|
p = A.b++
|
|
if (p != 1 || A.b != 2) return "fail 2"
|
|
|
|
p = A.c++
|
|
if (p != 1 || A.c != 2) return "fail 3"
|
|
|
|
|
|
p = getA().a++
|
|
if (p != 2 || A.a != 3 || holder != "getA()") return "fail 4: $holder"
|
|
holder = ""
|
|
|
|
p = getA().b++
|
|
if (p != 2 || A.b != 3 || holder != "getA()") return "fail 5: $holder"
|
|
holder = ""
|
|
|
|
p = getA().c++
|
|
if (p != 2 || A.c != 3 || holder != "getA()") return "fail 6: $holder"
|
|
holder = ""
|
|
|
|
return "OK"
|
|
}
|