Java: Accept guards test changes for revised switch CFG.

This commit is contained in:
Anders Schack-Mulligen
2026-02-10 14:52:36 +01:00
parent fb2799bd47
commit e0eb653dcc
3 changed files with 20 additions and 9 deletions

View File

@@ -39,10 +39,10 @@ public class Guards {
chk(); // $ guarded='s:match "bar"' guarded='s:bar'
break;
case "foo":
chk(); // $ guarded='s:match "foo"' guarded='s:foo' guarded=g(3):false
chk(); // $ guarded='s:non-match "bar"' guarded='s:not bar' guarded='s:match "foo"' guarded='s:foo' guarded=g(3):false
break;
default:
chk(); // $ guarded='s:non-match "bar"' guarded='s:non-match "foo"' guarded='s:not bar' guarded='s:not foo' guarded='s:match default' guarded=g(3):false
chk(); // $ guarded='s:non-match "bar"' guarded='s:non-match "foo"' guarded='s:not bar' guarded='s:not foo' guarded=g(3):false
break;
}
@@ -92,10 +92,10 @@ public class Guards {
chk(); // $ guarded='x:match E1' guarded='x:E1' guarded=g(1):true guarded=g(2):false guarded=g(Alt2):false guarded=g(3):false
break;
case E2:
chk(); // $ guarded='x:match E2' guarded='x:E2' guarded=g(3):false
chk(); // $ guarded='x:non-match E1' guarded='x:not E1' guarded='x:match E2' guarded='x:E2' guarded=g(3):false
break;
case E3:
chk(); // $ guarded='x:match E3' guarded='x:E3' guarded=g(3):true
chk(); // $ guarded='x:non-match E1' guarded='x:non-match E2' guarded='x:not E1' guarded='x:not E2' guarded='x:match E3' guarded='x:E3' guarded=g(3):true
break;
}
Object o = g(4) ? new Object() : null;
@@ -198,7 +198,7 @@ public class Guards {
chk(); // $ guarded='testEnumWrapper(...):SUCCESS' guarded='testEnumWrapper(...):match SUCCESS' guarded=g(1):true
break;
case FAILURE:
chk(); // $ guarded='testEnumWrapper(...):FAILURE' guarded='testEnumWrapper(...):match FAILURE' guarded=g(1):false
chk(); // $ guarded='testEnumWrapper(...):not SUCCESS' guarded='testEnumWrapper(...):non-match SUCCESS' guarded='testEnumWrapper(...):FAILURE' guarded='testEnumWrapper(...):match FAILURE' guarded=g(1):false
break;
}
}

View File

@@ -18,8 +18,9 @@
| Guards.java:39:9:39:13 | chk(...) | 's:match "bar"' |
| Guards.java:42:9:42:13 | chk(...) | 's:foo' |
| Guards.java:42:9:42:13 | chk(...) | 's:match "foo"' |
| Guards.java:42:9:42:13 | chk(...) | 's:non-match "bar"' |
| Guards.java:42:9:42:13 | chk(...) | 's:not bar' |
| Guards.java:42:9:42:13 | chk(...) | g(3):false |
| Guards.java:45:9:45:13 | chk(...) | 's:match default' |
| Guards.java:45:9:45:13 | chk(...) | 's:non-match "bar"' |
| Guards.java:45:9:45:13 | chk(...) | 's:non-match "foo"' |
| Guards.java:45:9:45:13 | chk(...) | 's:not bar' |
@@ -61,9 +62,15 @@
| Guards.java:92:9:92:13 | chk(...) | g(Alt2):false |
| Guards.java:95:9:95:13 | chk(...) | 'x:E2' |
| Guards.java:95:9:95:13 | chk(...) | 'x:match E2' |
| Guards.java:95:9:95:13 | chk(...) | 'x:non-match E1' |
| Guards.java:95:9:95:13 | chk(...) | 'x:not E1' |
| Guards.java:95:9:95:13 | chk(...) | g(3):false |
| Guards.java:98:9:98:13 | chk(...) | 'x:E3' |
| Guards.java:98:9:98:13 | chk(...) | 'x:match E3' |
| Guards.java:98:9:98:13 | chk(...) | 'x:non-match E1' |
| Guards.java:98:9:98:13 | chk(...) | 'x:non-match E2' |
| Guards.java:98:9:98:13 | chk(...) | 'x:not E1' |
| Guards.java:98:9:98:13 | chk(...) | 'x:not E2' |
| Guards.java:98:9:98:13 | chk(...) | g(3):true |
| Guards.java:103:7:103:11 | chk(...) | '...?...:...:null' |
| Guards.java:103:7:103:11 | chk(...) | 'o == null:true' |
@@ -113,6 +120,8 @@
| Guards.java:198:9:198:13 | chk(...) | g(1):true |
| Guards.java:201:9:201:13 | chk(...) | 'testEnumWrapper(...):FAILURE' |
| Guards.java:201:9:201:13 | chk(...) | 'testEnumWrapper(...):match FAILURE' |
| Guards.java:201:9:201:13 | chk(...) | 'testEnumWrapper(...):non-match SUCCESS' |
| Guards.java:201:9:201:13 | chk(...) | 'testEnumWrapper(...):not SUCCESS' |
| Guards.java:201:9:201:13 | chk(...) | g(1):false |
| Guards.java:213:5:213:9 | chk(...) | 'ensureNotNull(...):no exception' |
| Guards.java:213:5:213:9 | chk(...) | 's:not null' |

View File

@@ -19,13 +19,15 @@
| Logic.java:17:11:17:15 | ... > ... | false | Logic.java:15:29:15:29 | i |
| Logic.java:17:11:17:15 | ... > ... | true | Logic.java:17:18:17:23 | break |
| Logic.java:19:9:19:12 | g(...) | false | Logic.java:24:7:24:17 | case ... |
| Logic.java:19:9:19:12 | g(...) | false | Logic.java:24:12:24:16 | "foo" |
| Logic.java:19:9:19:12 | g(...) | false | Logic.java:26:7:26:14 | default |
| Logic.java:19:9:19:12 | g(...) | true | Logic.java:20:7:20:16 | <Expr>; |
| Logic.java:22:7:22:17 | case ... | false | Logic.java:24:7:24:17 | case ... |
| Logic.java:22:7:22:17 | case ... | false | Logic.java:24:12:24:16 | "foo" |
| Logic.java:22:7:22:17 | case ... | false | Logic.java:26:7:26:14 | default |
| Logic.java:22:7:22:17 | case ... | true | Logic.java:22:7:22:17 | case ... |
| Logic.java:22:7:22:17 | case ... | true | Logic.java:22:12:22:16 | "bar" |
| Logic.java:24:7:24:17 | case ... | false | Logic.java:26:7:26:14 | default |
| Logic.java:24:7:24:17 | case ... | true | Logic.java:24:7:24:17 | case ... |
| Logic.java:26:7:26:14 | default | true | Logic.java:26:7:26:14 | default |
| Logic.java:24:7:24:17 | case ... | true | Logic.java:24:12:24:16 | "foo" |
| Logic.java:29:16:29:19 | g(...) | false | Logic.java:29:30:29:30 | s |
| Logic.java:29:16:29:19 | g(...) | false | Logic.java:30:30:31:5 | { ... } |
| Logic.java:29:16:29:19 | g(...) | true | Logic.java:29:23:29:26 | null |