@@ -71,6 +71,75 @@ const testCases: testCase[] = [
7171 }` ,
7272 expectedLines : [ "4" , "1" , "3" , "2" , "2" , "3" , "3" ] ,
7373 } ,
74+ {
75+ comment : "increment/decrement on class fields" ,
76+ program : `
77+ public class Main {
78+ public static int g;
79+ public static int h;
80+ public static void main(String[] args) {
81+ g = 10;
82+ System.out.println(g);
83+ g++;
84+ System.out.println(g);
85+ ++g;
86+ System.out.println(g);
87+
88+ h = 20;
89+ System.out.println(h);
90+ --h;
91+ System.out.println(h);
92+ h--;
93+ System.out.println(h);
94+ }
95+ }` ,
96+ expectedLines : [ "10" , "11" , "12" , "20" , "19" , "18" ] ,
97+ } ,
98+ {
99+ comment : "increment/decrement on instance fields" ,
100+ program : `
101+ public class Main {
102+ public int x;
103+ public void inc() {
104+ this.x++;
105+ }
106+ public void dec() {
107+ this.x--;
108+ }
109+
110+ public static void main(String[] args) {
111+ Main m = new Main();
112+ System.out.println(m.x);
113+ m.inc();
114+ m.inc();
115+ System.out.println(m.x);
116+ m.x = 100;
117+ m.dec();
118+ System.out.println(m.x);
119+ }
120+ }` ,
121+ expectedLines : [ "0" , "2" , "99" ] ,
122+ } ,
123+ {
124+ comment : "increment/decrement on arrays" ,
125+ program : `
126+ public class Main {
127+ public static void main(String[] args) {
128+ int[] arr = {1, 5, 10, 15, 20};
129+ arr[0]++;
130+ --arr[1];
131+ System.out.println(arr[0]);
132+ System.out.println(arr[1]);
133+
134+ arr[3] = arr[2]++;
135+ arr[4] = --arr[2];
136+ System.out.println(arr[3]);
137+ System.out.println(arr[4]);
138+ System.out.println(arr[2]);
139+ }
140+ }` ,
141+ expectedLines : [ "2" , "4" , "10" , "10" , "10" ] ,
142+ } ,
74143 {
75144 comment : "unary plus/minus" ,
76145 program : `
0 commit comments