c7435ba760
We are going to deprecate `WITH_RUNTIME` directive. The main reason behind this change is that `WITH_STDLIB` directive better describes its meaning, specifically it will add kotlin stdlib to test's classpath.
46 lines
808 B
Kotlin
Vendored
46 lines
808 B
Kotlin
Vendored
// TARGET_BACKEND: JVM
|
|
|
|
// WITH_STDLIB
|
|
|
|
object Test {
|
|
var z = "0"
|
|
var l = 0L
|
|
|
|
fun changeObject(): String {
|
|
"1".someProperty += 1
|
|
return z
|
|
}
|
|
|
|
fun changeLong(): Long {
|
|
2L.someProperty -= 1
|
|
return l
|
|
}
|
|
|
|
@JvmStatic var String.someProperty: Int
|
|
get() {
|
|
return this.length
|
|
}
|
|
set(left) {
|
|
z += this + left
|
|
}
|
|
|
|
@JvmStatic var Long.someProperty: Long
|
|
get() {
|
|
return l
|
|
}
|
|
set(left) {
|
|
l += this + left
|
|
}
|
|
|
|
}
|
|
|
|
fun box(): String {
|
|
val changeObject = Test.changeObject()
|
|
if (changeObject != "012") return "fail 1: $changeObject"
|
|
|
|
val changeLong = Test.changeLong()
|
|
if (changeLong != 1L) return "fail 1: $changeLong"
|
|
|
|
return "OK"
|
|
}
|