Files
codeql/java/ql/test/library-tests/pattern-switch/cfg/test.expected
Chris Smowton 6c990c2cf6 Add pattern-case support and generally debug switch CFGs
These were reasonably broken beforehand, due to not taking switch rules into account in enough places, and confusing the expression/statement switch rule distinction with the distinction between switch statements and expressions.

(For example, `switch(x) { 1 -> System.out.println("Hello world") ... }` is a statement, but has a rule expression).
2023-11-30 11:23:58 +00:00

81 lines
5.5 KiB
Plaintext

| Test.java:1:14:1:17 | super(...) | Test.java:1:14:1:17 | Test |
| Test.java:1:14:1:17 | { ... } | Test.java:1:14:1:17 | super(...) |
| Test.java:3:41:37:3 | { ... } | Test.java:5:6:5:19 | switch (...) |
| Test.java:5:6:5:19 | switch (...) | Test.java:5:14:5:18 | thing |
| Test.java:5:14:5:18 | thing | Test.java:6:8:6:23 | case T t ... |
| Test.java:6:8:6:23 | case T t ... | Test.java:6:20:6:20 | s |
| Test.java:6:8:6:23 | case T t ... | Test.java:7:8:7:24 | case T t ... |
| Test.java:6:20:6:20 | s | Test.java:6:25:6:34 | System.out |
| Test.java:6:25:6:34 | System.out | Test.java:6:44:6:44 | s |
| Test.java:6:25:6:45 | println(...) | Test.java:11:6:11:19 | switch (...) |
| Test.java:6:25:6:46 | <Expr>; | Test.java:6:25:6:34 | System.out |
| Test.java:6:44:6:44 | s | Test.java:6:25:6:45 | println(...) |
| Test.java:7:8:7:24 | case T t ... | Test.java:7:21:7:21 | i |
| Test.java:7:8:7:24 | case T t ... | Test.java:8:8:8:17 | default |
| Test.java:7:21:7:21 | i | Test.java:7:26:7:35 | System.out |
| Test.java:7:26:7:35 | System.out | Test.java:7:45:7:58 | "An integer: " |
| Test.java:7:26:7:63 | println(...) | Test.java:11:6:11:19 | switch (...) |
| Test.java:7:26:7:64 | <Expr>; | Test.java:7:26:7:35 | System.out |
| Test.java:7:45:7:58 | "An integer: " | Test.java:7:62:7:62 | i |
| Test.java:7:45:7:62 | ... + ... | Test.java:7:26:7:63 | println(...) |
| Test.java:7:62:7:62 | i | Test.java:7:45:7:62 | ... + ... |
| Test.java:8:8:8:17 | default | Test.java:8:19:8:21 | { ... } |
| Test.java:8:19:8:21 | { ... } | Test.java:11:6:11:19 | switch (...) |
| Test.java:11:6:11:19 | switch (...) | Test.java:11:14:11:18 | thing |
| Test.java:11:14:11:18 | thing | Test.java:12:8:12:21 | case T t ... |
| Test.java:12:8:12:21 | case T t ... | Test.java:12:20:12:20 | s |
| Test.java:12:8:12:21 | case T t ... | Test.java:15:8:15:22 | case T t ... |
| Test.java:12:20:12:20 | s | Test.java:13:10:13:31 | <Expr>; |
| Test.java:13:10:13:19 | System.out | Test.java:13:29:13:29 | s |
| Test.java:13:10:13:30 | println(...) | Test.java:14:10:14:15 | break |
| Test.java:13:10:13:31 | <Expr>; | Test.java:13:10:13:19 | System.out |
| Test.java:13:29:13:29 | s | Test.java:13:10:13:30 | println(...) |
| Test.java:14:10:14:15 | break | Test.java:22:6:26:7 | var ...; |
| Test.java:15:8:15:22 | case T t ... | Test.java:15:21:15:21 | i |
| Test.java:15:8:15:22 | case T t ... | Test.java:18:8:18:15 | default |
| Test.java:15:21:15:21 | i | Test.java:16:10:16:47 | <Expr>; |
| Test.java:16:10:16:19 | System.out | Test.java:16:29:16:41 | "An integer:" |
| Test.java:16:10:16:46 | println(...) | Test.java:17:10:17:15 | break |
| Test.java:16:10:16:47 | <Expr>; | Test.java:16:10:16:19 | System.out |
| Test.java:16:29:16:41 | "An integer:" | Test.java:16:45:16:45 | i |
| Test.java:16:29:16:45 | ... + ... | Test.java:16:10:16:46 | println(...) |
| Test.java:16:45:16:45 | i | Test.java:16:29:16:45 | ... + ... |
| Test.java:17:10:17:15 | break | Test.java:22:6:26:7 | var ...; |
| Test.java:18:8:18:15 | default | Test.java:19:10:19:15 | break |
| Test.java:19:10:19:15 | break | Test.java:22:6:26:7 | var ...; |
| Test.java:22:6:26:7 | var ...; | Test.java:22:26:22:38 | switch (...) |
| Test.java:22:10:22:38 | thingAsString | Test.java:28:6:35:7 | var ...; |
| Test.java:22:26:22:38 | switch (...) | Test.java:22:33:22:37 | thing |
| Test.java:22:33:22:37 | thing | Test.java:23:8:23:23 | case T t ... |
| Test.java:23:8:23:23 | case T t ... | Test.java:23:20:23:20 | s |
| Test.java:23:8:23:23 | case T t ... | Test.java:24:8:24:24 | case T t ... |
| Test.java:23:20:23:20 | s | Test.java:23:25:23:25 | s |
| Test.java:23:25:23:25 | s | Test.java:22:10:22:38 | thingAsString |
| Test.java:24:8:24:24 | case T t ... | Test.java:24:21:24:21 | i |
| Test.java:24:8:24:24 | case T t ... | Test.java:25:8:25:17 | default |
| Test.java:24:21:24:21 | i | Test.java:24:26:24:39 | "An integer: " |
| Test.java:24:26:24:39 | "An integer: " | Test.java:24:43:24:43 | i |
| Test.java:24:26:24:43 | ... + ... | Test.java:22:10:22:38 | thingAsString |
| Test.java:24:43:24:43 | i | Test.java:24:26:24:43 | ... + ... |
| Test.java:25:8:25:17 | default | Test.java:25:19:25:34 | "Something else" |
| Test.java:25:19:25:34 | "Something else" | Test.java:22:10:22:38 | thingAsString |
| Test.java:28:6:35:7 | var ...; | Test.java:28:27:28:39 | switch (...) |
| Test.java:28:10:28:39 | thingAsString2 | Test.java:3:22:3:25 | test |
| Test.java:28:27:28:39 | switch (...) | Test.java:28:34:28:38 | thing |
| Test.java:28:34:28:38 | thing | Test.java:29:8:29:21 | case T t ... |
| Test.java:29:8:29:21 | case T t ... | Test.java:29:20:29:20 | s |
| Test.java:29:8:29:21 | case T t ... | Test.java:31:8:31:22 | case T t ... |
| Test.java:29:20:29:20 | s | Test.java:30:10:30:17 | yield ... |
| Test.java:30:10:30:17 | yield ... | Test.java:30:16:30:16 | s |
| Test.java:30:16:30:16 | s | Test.java:28:10:28:39 | thingAsString2 |
| Test.java:31:8:31:22 | case T t ... | Test.java:31:21:31:21 | i |
| Test.java:31:8:31:22 | case T t ... | Test.java:33:8:33:15 | default |
| Test.java:31:21:31:21 | i | Test.java:32:10:32:34 | yield ... |
| Test.java:32:10:32:34 | yield ... | Test.java:32:16:32:29 | "An integer: " |
| Test.java:32:16:32:29 | "An integer: " | Test.java:32:33:32:33 | i |
| Test.java:32:16:32:33 | ... + ... | Test.java:28:10:28:39 | thingAsString2 |
| Test.java:32:33:32:33 | i | Test.java:32:16:32:33 | ... + ... |
| Test.java:33:8:33:15 | default | Test.java:34:10:34:32 | yield ... |
| Test.java:34:10:34:32 | yield ... | Test.java:34:16:34:31 | "Something else" |
| Test.java:34:16:34:31 | "Something else" | Test.java:28:10:28:39 | thingAsString2 |