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