Skip to content

Commit 582d21d

Browse files
committed
Java: Add range analysis testcase.
1 parent 8a80158 commit 582d21d

File tree

2 files changed

+100
-0
lines changed

2 files changed

+100
-0
lines changed

java/ql/test/library-tests/dataflow/range-analysis/A.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,29 @@ int f2(int x, int y, int z) {
3838

3939
return 0;
4040
}
41+
42+
43+
int f3(char size) {
44+
int i = 0;
45+
while (i < size) {
46+
i++;
47+
}
48+
return i;
49+
}
50+
51+
int f4(int size) {
52+
int i = 0;
53+
while (i < size) {
54+
i++;
55+
}
56+
return i;
57+
}
58+
59+
int f5(char size) {
60+
int i = 10;
61+
while (i < size) {
62+
i++;
63+
}
64+
return i;
65+
}
4166
}

java/ql/test/library-tests/dataflow/range-analysis/RangeAnalysis.expected

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,3 +230,78 @@
230230
| A.java:35:24:35:24 | z | SSA param(z) | 0 | upper | NoReason |
231231
| A.java:39:12:39:12 | 0 | 0 | 0 | lower | NoReason |
232232
| A.java:39:12:39:12 | 0 | 0 | 0 | upper | NoReason |
233+
| A.java:44:9:44:13 | i | 0 | 0 | lower | NoReason |
234+
| A.java:44:9:44:13 | i | 0 | 0 | upper | NoReason |
235+
| A.java:44:13:44:13 | 0 | 0 | 0 | lower | NoReason |
236+
| A.java:44:13:44:13 | 0 | 0 | 0 | upper | NoReason |
237+
| A.java:45:12:45:12 | i | 0 | 0 | lower | NoReason |
238+
| A.java:45:12:45:12 | i | SSA def(i) | 0 | lower | NoReason |
239+
| A.java:45:12:45:12 | i | SSA phi(i) | 0 | lower | NoReason |
240+
| A.java:45:12:45:12 | i | SSA phi(i) | 0 | upper | NoReason |
241+
| A.java:45:16:45:19 | size | SSA param(size) | 0 | lower | NoReason |
242+
| A.java:45:16:45:19 | size | SSA param(size) | 0 | upper | NoReason |
243+
| A.java:46:7:46:7 | i | 0 | 0 | lower | NoReason |
244+
| A.java:46:7:46:7 | i | SSA def(i) | 0 | lower | NoReason |
245+
| A.java:46:7:46:7 | i | SSA param(size) | -1 | upper | ... < ... |
246+
| A.java:46:7:46:7 | i | SSA phi(i) | 0 | lower | NoReason |
247+
| A.java:46:7:46:7 | i | SSA phi(i) | 0 | upper | NoReason |
248+
| A.java:46:7:46:9 | ...++ | 0 | 0 | lower | NoReason |
249+
| A.java:46:7:46:9 | ...++ | SSA def(i) | 0 | lower | NoReason |
250+
| A.java:46:7:46:9 | ...++ | SSA param(size) | -1 | upper | ... < ... |
251+
| A.java:46:7:46:9 | ...++ | SSA phi(i) | 0 | lower | NoReason |
252+
| A.java:46:7:46:9 | ...++ | SSA phi(i) | 0 | upper | NoReason |
253+
| A.java:48:12:48:12 | i | 0 | 0 | lower | NoReason |
254+
| A.java:48:12:48:12 | i | SSA def(i) | 0 | lower | NoReason |
255+
| A.java:48:12:48:12 | i | SSA param(size) | 0 | lower | ... < ... |
256+
| A.java:48:12:48:12 | i | SSA phi(i) | 0 | lower | NoReason |
257+
| A.java:48:12:48:12 | i | SSA phi(i) | 0 | upper | NoReason |
258+
| A.java:52:9:52:13 | i | 0 | 0 | lower | NoReason |
259+
| A.java:52:9:52:13 | i | 0 | 0 | upper | NoReason |
260+
| A.java:52:13:52:13 | 0 | 0 | 0 | lower | NoReason |
261+
| A.java:52:13:52:13 | 0 | 0 | 0 | upper | NoReason |
262+
| A.java:53:12:53:12 | i | 0 | 0 | lower | NoReason |
263+
| A.java:53:12:53:12 | i | SSA def(i) | 0 | lower | NoReason |
264+
| A.java:53:12:53:12 | i | SSA phi(i) | 0 | lower | NoReason |
265+
| A.java:53:12:53:12 | i | SSA phi(i) | 0 | upper | NoReason |
266+
| A.java:53:16:53:19 | size | SSA param(size) | 0 | lower | NoReason |
267+
| A.java:53:16:53:19 | size | SSA param(size) | 0 | upper | NoReason |
268+
| A.java:54:7:54:7 | i | 0 | 0 | lower | NoReason |
269+
| A.java:54:7:54:7 | i | SSA def(i) | 0 | lower | NoReason |
270+
| A.java:54:7:54:7 | i | SSA param(size) | -1 | upper | ... < ... |
271+
| A.java:54:7:54:7 | i | SSA phi(i) | 0 | lower | NoReason |
272+
| A.java:54:7:54:7 | i | SSA phi(i) | 0 | upper | NoReason |
273+
| A.java:54:7:54:9 | ...++ | 0 | 0 | lower | NoReason |
274+
| A.java:54:7:54:9 | ...++ | SSA def(i) | 0 | lower | NoReason |
275+
| A.java:54:7:54:9 | ...++ | SSA param(size) | -1 | upper | ... < ... |
276+
| A.java:54:7:54:9 | ...++ | SSA phi(i) | 0 | lower | NoReason |
277+
| A.java:54:7:54:9 | ...++ | SSA phi(i) | 0 | upper | NoReason |
278+
| A.java:56:12:56:12 | i | 0 | 0 | lower | NoReason |
279+
| A.java:56:12:56:12 | i | SSA def(i) | 0 | lower | NoReason |
280+
| A.java:56:12:56:12 | i | SSA param(size) | 0 | lower | ... < ... |
281+
| A.java:56:12:56:12 | i | SSA phi(i) | 0 | lower | NoReason |
282+
| A.java:56:12:56:12 | i | SSA phi(i) | 0 | upper | NoReason |
283+
| A.java:60:9:60:14 | i | 0 | 10 | lower | NoReason |
284+
| A.java:60:9:60:14 | i | 0 | 10 | upper | NoReason |
285+
| A.java:60:13:60:14 | 10 | 0 | 10 | lower | NoReason |
286+
| A.java:60:13:60:14 | 10 | 0 | 10 | upper | NoReason |
287+
| A.java:61:12:61:12 | i | 0 | 10 | lower | NoReason |
288+
| A.java:61:12:61:12 | i | SSA def(i) | 0 | lower | NoReason |
289+
| A.java:61:12:61:12 | i | SSA phi(i) | 0 | lower | NoReason |
290+
| A.java:61:12:61:12 | i | SSA phi(i) | 0 | upper | NoReason |
291+
| A.java:61:16:61:19 | size | SSA param(size) | 0 | lower | NoReason |
292+
| A.java:61:16:61:19 | size | SSA param(size) | 0 | upper | NoReason |
293+
| A.java:62:7:62:7 | i | 0 | 10 | lower | NoReason |
294+
| A.java:62:7:62:7 | i | SSA def(i) | 0 | lower | NoReason |
295+
| A.java:62:7:62:7 | i | SSA param(size) | -1 | upper | ... < ... |
296+
| A.java:62:7:62:7 | i | SSA phi(i) | 0 | lower | NoReason |
297+
| A.java:62:7:62:7 | i | SSA phi(i) | 0 | upper | NoReason |
298+
| A.java:62:7:62:9 | ...++ | 0 | 10 | lower | NoReason |
299+
| A.java:62:7:62:9 | ...++ | SSA def(i) | 0 | lower | NoReason |
300+
| A.java:62:7:62:9 | ...++ | SSA param(size) | -1 | upper | ... < ... |
301+
| A.java:62:7:62:9 | ...++ | SSA phi(i) | 0 | lower | NoReason |
302+
| A.java:62:7:62:9 | ...++ | SSA phi(i) | 0 | upper | NoReason |
303+
| A.java:64:12:64:12 | i | 0 | 10 | lower | NoReason |
304+
| A.java:64:12:64:12 | i | SSA def(i) | 0 | lower | NoReason |
305+
| A.java:64:12:64:12 | i | SSA param(size) | 0 | lower | ... < ... |
306+
| A.java:64:12:64:12 | i | SSA phi(i) | 0 | lower | NoReason |
307+
| A.java:64:12:64:12 | i | SSA phi(i) | 0 | upper | NoReason |

0 commit comments

Comments
 (0)