| class A { | |
| companion object { | |
| private var r: Int = 1; | |
| fun test(): Int { | |
| r++ | |
| ++r | |
| return r | |
| } | |
| var holder: String = "" | |
| var r2: Int = 1 | |
| get() { | |
| holder += "getR2" | |
| return field | |
| } | |
| fun test2() : Int { | |
| r2++ | |
| ++r2 | |
| return r2 | |
| } | |
| var r3: Int = 1 | |
| set(p: Int) { | |
| holder += "setR3" | |
| field = p | |
| } | |
| fun test3() : Int { | |
| r3++ | |
| ++r3 | |
| return r3 | |
| } | |
| var r4: Int = 1 | |
| get() { | |
| holder += "getR4" | |
| return field | |
| } | |
| set(p: Int) { | |
| holder += "setR4" | |
| field = p | |
| } | |
| fun test4() : Int { | |
| r4++ | |
| holder += ":" | |
| ++r4 | |
| return r4 | |
| } | |
| } | |
| } | |
| fun box() : String { | |
| val p = A.test() | |
| if (p != 3) return "fail 1: $p" | |
| val p2 = A.test2() | |
| var holderValue = A.holder | |
| if (p2 != 3 || holderValue != "getR2getR2getR2getR2") return "fail 2: $p2 ${holderValue}" | |
| A.holder = "" | |
| val p3 = A.test3() | |
| if (p3 != 3 || A.holder != "setR3setR3") return "fail 3: $p3 ${A.holder}" | |
| A.holder = "" | |
| val p4 = A.test4() | |
| if (p4 != 3 || A.holder != "getR4setR4:getR4setR4getR4getR4") return "fail 4: $p4 ${A.holder}" | |
| return "OK" | |
| } |