== Test == class Test { var x : Int; } --------------------- ===================== == assignments == fun assignments() : Unit { var x = 1 x = 2 x += 2 x = if (true) 1 else 2 val y = true && false val z = false && true val t = Test(); t.x = 1 t.x += 1 } --------------------- 1 : Int NEW: r(1) -> 2 : Int NEW: r(2) -> x : Int NEW: r(x) -> 2 : Int NEW: r(2) -> x += 2 : Int NEW: call(x += 2, plus|, ) -> true : Boolean NEW: r(true) -> 1 : Int NEW: r(1) -> 2 : Int NEW: r(2) -> if (true) 1 else 2 : Int NEW: merge(if (true) 1 else 2|, ) -> true : Boolean NEW: r(true) -> false : Boolean NEW: r(false) -> true && false : Boolean NEW: magic[AND](true && false|, ) -> false : Boolean NEW: r(false) -> true : Boolean NEW: r(true) -> false && true : Boolean NEW: magic[AND](false && true|, ) -> Test() : Test NEW: call(Test(), ) -> t : Test NEW: r(t) -> 1 : Int NEW: r(1) -> t : Test NEW: r(t) -> x : Int NEW: r(x|) -> t.x : Int COPY 1 : Int NEW: r(1) -> t.x += 1 : Int NEW: call(t.x += 1, plus|, ) -> { var x = 1 x = 2 x += 2 x = if (true) 1 else 2 val y = true && false val z = false && true val t = Test(); t.x = 1 t.x += 1 } : Int COPY =====================