Files
kotlin-fork/compiler/testData/codegen/box/jvmStatic/prefixInc.kt
T
Mark Punzalan f55ff8eb1b [FIR] Capture receiver for pre/postfix dec/increment of qualified access
This prevents double-evaluation of the receiver expression, which may
have side-effects. E.g.: a.b++
2020-09-22 10:20:46 +03:00

50 lines
799 B
Kotlin
Vendored

// 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 != 2 || A.a != 2) return "fail 1"
p = ++A.b
if (p != 2 || A.b != 2) return "fail 2"
p = ++A.c
if (p != 2 || A.c != 2) return "fail 3"
p = ++getA().a
if (p != 3 || A.a != 3 || holder != "getA()") return "fail 4: $holder"
holder = ""
p = ++getA().b
if (p != 3 || A.b != 3 || holder != "getA()") return "fail 5: $holder"
holder = ""
p = ++getA().c
if (p != 3 || A.c != 3 || holder != "getA()") return "fail 6: $holder"
holder = ""
return "OK"
}