Use location of condition for ConditionGuardNode

This commit is contained in:
Owen Mansel-Chan
2025-02-26 12:03:00 +00:00
parent 759f0583cb
commit 561a681e90
2 changed files with 156 additions and 158 deletions

View File

@@ -247,9 +247,7 @@ module ControlFlow {
override predicate hasLocationInfo(
string filepath, int startline, int startcolumn, int endline, int endcolumn
) {
cond.hasLocationInfo(filepath, _, _, startline, startcolumn) and
endline = startline and
endcolumn = startcolumn
cond.hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn)
}
}

View File

@@ -7,20 +7,20 @@
| DuplicateSwitchCase.go:4:2:4:2 | true | DuplicateSwitchCase.go:5:7:5:9 | msg |
| DuplicateSwitchCase.go:5:7:5:9 | msg | DuplicateSwitchCase.go:5:14:5:20 | "start" |
| DuplicateSwitchCase.go:5:7:5:20 | ...==... | DuplicateSwitchCase.go:5:7:5:20 | case ...==... |
| DuplicateSwitchCase.go:5:7:5:20 | case ...==... | DuplicateSwitchCase.go:5:20:5:20 | ...==... is false |
| DuplicateSwitchCase.go:5:7:5:20 | case ...==... | DuplicateSwitchCase.go:5:20:5:20 | ...==... is true |
| DuplicateSwitchCase.go:5:7:5:20 | ...==... is false | DuplicateSwitchCase.go:7:7:7:9 | msg |
| DuplicateSwitchCase.go:5:7:5:20 | ...==... is true | DuplicateSwitchCase.go:6:3:6:7 | start |
| DuplicateSwitchCase.go:5:7:5:20 | case ...==... | DuplicateSwitchCase.go:5:7:5:20 | ...==... is false |
| DuplicateSwitchCase.go:5:7:5:20 | case ...==... | DuplicateSwitchCase.go:5:7:5:20 | ...==... is true |
| DuplicateSwitchCase.go:5:14:5:20 | "start" | DuplicateSwitchCase.go:5:7:5:20 | ...==... |
| DuplicateSwitchCase.go:5:20:5:20 | ...==... is false | DuplicateSwitchCase.go:7:7:7:9 | msg |
| DuplicateSwitchCase.go:5:20:5:20 | ...==... is true | DuplicateSwitchCase.go:6:3:6:7 | start |
| DuplicateSwitchCase.go:6:3:6:7 | start | DuplicateSwitchCase.go:6:3:6:9 | call to start |
| DuplicateSwitchCase.go:6:3:6:9 | call to start | DuplicateSwitchCase.go:12:1:12:1 | exit |
| DuplicateSwitchCase.go:7:7:7:9 | msg | DuplicateSwitchCase.go:7:14:7:20 | "start" |
| DuplicateSwitchCase.go:7:7:7:20 | ...==... | DuplicateSwitchCase.go:7:7:7:20 | case ...==... |
| DuplicateSwitchCase.go:7:7:7:20 | case ...==... | DuplicateSwitchCase.go:7:20:7:20 | ...==... is false |
| DuplicateSwitchCase.go:7:7:7:20 | case ...==... | DuplicateSwitchCase.go:7:20:7:20 | ...==... is true |
| DuplicateSwitchCase.go:7:7:7:20 | ...==... is false | DuplicateSwitchCase.go:10:3:10:7 | panic |
| DuplicateSwitchCase.go:7:7:7:20 | ...==... is true | DuplicateSwitchCase.go:8:3:8:6 | stop |
| DuplicateSwitchCase.go:7:7:7:20 | case ...==... | DuplicateSwitchCase.go:7:7:7:20 | ...==... is false |
| DuplicateSwitchCase.go:7:7:7:20 | case ...==... | DuplicateSwitchCase.go:7:7:7:20 | ...==... is true |
| DuplicateSwitchCase.go:7:14:7:20 | "start" | DuplicateSwitchCase.go:7:7:7:20 | ...==... |
| DuplicateSwitchCase.go:7:20:7:20 | ...==... is false | DuplicateSwitchCase.go:10:3:10:7 | panic |
| DuplicateSwitchCase.go:7:20:7:20 | ...==... is true | DuplicateSwitchCase.go:8:3:8:6 | stop |
| DuplicateSwitchCase.go:8:3:8:6 | stop | DuplicateSwitchCase.go:8:3:8:8 | call to stop |
| DuplicateSwitchCase.go:8:3:8:8 | call to stop | DuplicateSwitchCase.go:12:1:12:1 | exit |
| DuplicateSwitchCase.go:10:3:10:7 | panic | DuplicateSwitchCase.go:10:9:10:33 | "Message not understood." |
@@ -66,40 +66,40 @@
| equalitytests.go:11:195:11:196 | initialization of a4 | equalitytests.go:12:9:12:10 | i1 |
| equalitytests.go:12:2:12:76 | return statement | equalitytests.go:13:1:13:1 | exit |
| equalitytests.go:12:9:12:10 | i1 | equalitytests.go:12:15:12:16 | i2 |
| equalitytests.go:12:9:12:16 | ...==... | equalitytests.go:12:16:12:16 | ...==... is false |
| equalitytests.go:12:9:12:16 | ...==... | equalitytests.go:12:16:12:16 | ...==... is true |
| equalitytests.go:12:9:12:16 | ...==... | equalitytests.go:12:9:12:16 | ...==... is false |
| equalitytests.go:12:9:12:16 | ...==... | equalitytests.go:12:9:12:16 | ...==... is true |
| equalitytests.go:12:9:12:16 | ...==... is false | equalitytests.go:12:9:12:28 | ...&&... is false |
| equalitytests.go:12:9:12:16 | ...==... is true | equalitytests.go:12:21:12:22 | e1 |
| equalitytests.go:12:9:12:28 | ...&&... is false | equalitytests.go:12:9:12:40 | ...&&... is false |
| equalitytests.go:12:9:12:28 | ...&&... is true | equalitytests.go:12:33:12:34 | s1 |
| equalitytests.go:12:9:12:40 | ...&&... is false | equalitytests.go:12:9:12:52 | ...&&... is false |
| equalitytests.go:12:9:12:40 | ...&&... is true | equalitytests.go:12:45:12:46 | s3 |
| equalitytests.go:12:9:12:52 | ...&&... is false | equalitytests.go:12:9:12:64 | ...&&... is false |
| equalitytests.go:12:9:12:52 | ...&&... is true | equalitytests.go:12:57:12:58 | a1 |
| equalitytests.go:12:9:12:64 | ...&&... is false | equalitytests.go:12:9:12:76 | ...&&... |
| equalitytests.go:12:9:12:64 | ...&&... is true | equalitytests.go:12:69:12:70 | a3 |
| equalitytests.go:12:9:12:76 | ...&&... | equalitytests.go:12:2:12:76 | return statement |
| equalitytests.go:12:15:12:16 | i2 | equalitytests.go:12:9:12:16 | ...==... |
| equalitytests.go:12:16:12:16 | ...==... is false | equalitytests.go:12:28:12:28 | ...&&... is false |
| equalitytests.go:12:16:12:16 | ...==... is true | equalitytests.go:12:21:12:22 | e1 |
| equalitytests.go:12:21:12:22 | e1 | equalitytests.go:12:27:12:28 | e2 |
| equalitytests.go:12:21:12:28 | ...==... | equalitytests.go:12:28:12:28 | ...&&... is false |
| equalitytests.go:12:21:12:28 | ...==... | equalitytests.go:12:28:12:28 | ...&&... is true |
| equalitytests.go:12:21:12:28 | ...==... | equalitytests.go:12:9:12:28 | ...&&... is false |
| equalitytests.go:12:21:12:28 | ...==... | equalitytests.go:12:9:12:28 | ...&&... is true |
| equalitytests.go:12:21:12:28 | ...==... | equalitytests.go:13:1:13:1 | exit |
| equalitytests.go:12:27:12:28 | e2 | equalitytests.go:12:21:12:28 | ...==... |
| equalitytests.go:12:28:12:28 | ...&&... is false | equalitytests.go:12:40:12:40 | ...&&... is false |
| equalitytests.go:12:28:12:28 | ...&&... is true | equalitytests.go:12:33:12:34 | s1 |
| equalitytests.go:12:33:12:34 | s1 | equalitytests.go:12:39:12:40 | s2 |
| equalitytests.go:12:33:12:40 | ...==... | equalitytests.go:12:40:12:40 | ...&&... is false |
| equalitytests.go:12:33:12:40 | ...==... | equalitytests.go:12:40:12:40 | ...&&... is true |
| equalitytests.go:12:33:12:40 | ...==... | equalitytests.go:12:9:12:40 | ...&&... is false |
| equalitytests.go:12:33:12:40 | ...==... | equalitytests.go:12:9:12:40 | ...&&... is true |
| equalitytests.go:12:33:12:40 | ...==... | equalitytests.go:13:1:13:1 | exit |
| equalitytests.go:12:39:12:40 | s2 | equalitytests.go:12:33:12:40 | ...==... |
| equalitytests.go:12:40:12:40 | ...&&... is false | equalitytests.go:12:52:12:52 | ...&&... is false |
| equalitytests.go:12:40:12:40 | ...&&... is true | equalitytests.go:12:45:12:46 | s3 |
| equalitytests.go:12:45:12:46 | s3 | equalitytests.go:12:51:12:52 | s4 |
| equalitytests.go:12:45:12:52 | ...==... | equalitytests.go:12:52:12:52 | ...&&... is false |
| equalitytests.go:12:45:12:52 | ...==... | equalitytests.go:12:52:12:52 | ...&&... is true |
| equalitytests.go:12:45:12:52 | ...==... | equalitytests.go:12:9:12:52 | ...&&... is false |
| equalitytests.go:12:45:12:52 | ...==... | equalitytests.go:12:9:12:52 | ...&&... is true |
| equalitytests.go:12:45:12:52 | ...==... | equalitytests.go:13:1:13:1 | exit |
| equalitytests.go:12:51:12:52 | s4 | equalitytests.go:12:45:12:52 | ...==... |
| equalitytests.go:12:52:12:52 | ...&&... is false | equalitytests.go:12:64:12:64 | ...&&... is false |
| equalitytests.go:12:52:12:52 | ...&&... is true | equalitytests.go:12:57:12:58 | a1 |
| equalitytests.go:12:57:12:58 | a1 | equalitytests.go:12:63:12:64 | a2 |
| equalitytests.go:12:57:12:64 | ...==... | equalitytests.go:12:64:12:64 | ...&&... is false |
| equalitytests.go:12:57:12:64 | ...==... | equalitytests.go:12:64:12:64 | ...&&... is true |
| equalitytests.go:12:57:12:64 | ...==... | equalitytests.go:12:9:12:64 | ...&&... is false |
| equalitytests.go:12:57:12:64 | ...==... | equalitytests.go:12:9:12:64 | ...&&... is true |
| equalitytests.go:12:57:12:64 | ...==... | equalitytests.go:13:1:13:1 | exit |
| equalitytests.go:12:63:12:64 | a2 | equalitytests.go:12:57:12:64 | ...==... |
| equalitytests.go:12:64:12:64 | ...&&... is false | equalitytests.go:12:9:12:76 | ...&&... |
| equalitytests.go:12:64:12:64 | ...&&... is true | equalitytests.go:12:69:12:70 | a3 |
| equalitytests.go:12:69:12:70 | a3 | equalitytests.go:12:75:12:76 | a4 |
| equalitytests.go:12:69:12:76 | ...==... | equalitytests.go:12:9:12:76 | ...&&... |
| equalitytests.go:12:69:12:76 | ...==... | equalitytests.go:13:1:13:1 | exit |
@@ -287,10 +287,10 @@
| exprs.go:33:8:33:9 | skip | exprs.go:33:14:33:16 | arg |
| exprs.go:33:14:33:16 | arg | exprs.go:33:14:33:24 | type assertion |
| exprs.go:33:14:33:24 | type assertion | exprs.go:33:5:33:24 | ... := ...[0] |
| exprs.go:33:27:33:28 | ok | exprs.go:33:28:33:28 | ok is false |
| exprs.go:33:27:33:28 | ok | exprs.go:33:28:33:28 | ok is true |
| exprs.go:33:28:33:28 | ok is false | exprs.go:36:9:36:10 | -... |
| exprs.go:33:28:33:28 | ok is true | exprs.go:34:10:34:10 | p |
| exprs.go:33:27:33:28 | ok | exprs.go:33:27:33:28 | ok is false |
| exprs.go:33:27:33:28 | ok | exprs.go:33:27:33:28 | ok is true |
| exprs.go:33:27:33:28 | ok is false | exprs.go:36:9:36:10 | -... |
| exprs.go:33:27:33:28 | ok is true | exprs.go:34:10:34:10 | p |
| exprs.go:34:3:34:12 | return statement | exprs.go:37:1:37:1 | exit |
| exprs.go:34:10:34:10 | p | exprs.go:34:10:34:12 | selection of x |
| exprs.go:34:10:34:12 | selection of x | exprs.go:34:3:34:12 | return statement |
@@ -315,10 +315,10 @@
| exprs.go:42:5:42:6 | skip | exprs.go:42:10:42:12 | arg |
| exprs.go:42:10:42:12 | arg | exprs.go:42:10:42:20 | type assertion |
| exprs.go:42:10:42:20 | type assertion | exprs.go:42:2:42:20 | ... = ...[0] |
| exprs.go:43:5:43:6 | ok | exprs.go:43:6:43:6 | ok is false |
| exprs.go:43:5:43:6 | ok | exprs.go:43:6:43:6 | ok is true |
| exprs.go:43:6:43:6 | ok is false | exprs.go:46:9:46:10 | -... |
| exprs.go:43:6:43:6 | ok is true | exprs.go:44:10:44:10 | p |
| exprs.go:43:5:43:6 | ok | exprs.go:43:5:43:6 | ok is false |
| exprs.go:43:5:43:6 | ok | exprs.go:43:5:43:6 | ok is true |
| exprs.go:43:5:43:6 | ok is false | exprs.go:46:9:46:10 | -... |
| exprs.go:43:5:43:6 | ok is true | exprs.go:44:10:44:10 | p |
| exprs.go:44:3:44:12 | return statement | exprs.go:47:1:47:1 | exit |
| exprs.go:44:10:44:10 | p | exprs.go:44:10:44:12 | selection of x |
| exprs.go:44:10:44:12 | selection of x | exprs.go:44:3:44:12 | return statement |
@@ -336,13 +336,13 @@
| exprs.go:50:6:50:6 | skip | exprs.go:50:11:50:11 | 0 |
| exprs.go:50:11:50:11 | 0 | exprs.go:50:6:50:6 | assignment to i |
| exprs.go:50:14:50:14 | i | exprs.go:50:18:50:20 | len |
| exprs.go:50:14:50:24 | ...<... | exprs.go:50:24:50:24 | ...<... is false |
| exprs.go:50:14:50:24 | ...<... | exprs.go:50:24:50:24 | ...<... is true |
| exprs.go:50:14:50:24 | ...<... | exprs.go:50:14:50:24 | ...<... is false |
| exprs.go:50:14:50:24 | ...<... | exprs.go:50:14:50:24 | ...<... is true |
| exprs.go:50:14:50:24 | ...<... is false | exprs.go:53:2:53:7 | return statement |
| exprs.go:50:14:50:24 | ...<... is true | exprs.go:51:3:51:5 | res |
| exprs.go:50:18:50:20 | len | exprs.go:50:22:50:23 | xs |
| exprs.go:50:18:50:24 | call to len | exprs.go:50:14:50:24 | ...<... |
| exprs.go:50:22:50:23 | xs | exprs.go:50:18:50:24 | call to len |
| exprs.go:50:24:50:24 | ...<... is false | exprs.go:53:2:53:7 | return statement |
| exprs.go:50:24:50:24 | ...<... is true | exprs.go:51:3:51:5 | res |
| exprs.go:50:27:50:27 | i | exprs.go:50:27:50:29 | 1 |
| exprs.go:50:27:50:29 | 1 | exprs.go:50:27:50:29 | rhs of increment statement |
| exprs.go:50:27:50:29 | increment statement | exprs.go:50:14:50:14 | i |
@@ -432,8 +432,10 @@
| exprs.go:77:18:77:18 | argument corresponding to z | exprs.go:77:18:77:18 | initialization of z |
| exprs.go:77:18:77:18 | initialization of z | exprs.go:78:11:78:11 | x |
| exprs.go:78:2:78:22 | return statement | exprs.go:79:1:79:1 | exit |
| exprs.go:78:9:78:17 | !... | exprs.go:78:17:78:17 | !... is false |
| exprs.go:78:9:78:17 | !... | exprs.go:78:17:78:17 | !... is true |
| exprs.go:78:9:78:17 | !... | exprs.go:78:9:78:17 | !... is false |
| exprs.go:78:9:78:17 | !... | exprs.go:78:9:78:17 | !... is true |
| exprs.go:78:9:78:17 | !... is false | exprs.go:78:22:78:22 | z |
| exprs.go:78:9:78:17 | !... is true | exprs.go:78:9:78:22 | ...\|\|... |
| exprs.go:78:9:78:22 | ...\|\|... | exprs.go:78:2:78:22 | return statement |
| exprs.go:78:11:78:11 | x | exprs.go:78:11:78:11 | x is false |
| exprs.go:78:11:78:11 | x | exprs.go:78:11:78:11 | x is true |
@@ -441,8 +443,6 @@
| exprs.go:78:11:78:11 | x is true | exprs.go:78:16:78:16 | y |
| exprs.go:78:11:78:16 | ...&&... | exprs.go:78:9:78:17 | !... |
| exprs.go:78:16:78:16 | y | exprs.go:78:11:78:16 | ...&&... |
| exprs.go:78:17:78:17 | !... is false | exprs.go:78:22:78:22 | z |
| exprs.go:78:17:78:17 | !... is true | exprs.go:78:9:78:22 | ...\|\|... |
| exprs.go:78:22:78:22 | z | exprs.go:78:9:78:22 | ...\|\|... |
| exprs.go:81:1:81:1 | entry | exprs.go:81:18:81:19 | argument corresponding to ch |
| exprs.go:81:1:87:1 | function declaration | exprs.go:89:7:89:9 | skip |
@@ -457,10 +457,10 @@
| exprs.go:82:7:82:8 | skip | exprs.go:82:15:82:16 | ch |
| exprs.go:82:13:82:16 | <-... | exprs.go:82:2:82:16 | ... := ...[0] |
| exprs.go:82:15:82:16 | ch | exprs.go:82:13:82:16 | <-... |
| exprs.go:83:5:83:6 | ok | exprs.go:83:6:83:6 | ok is false |
| exprs.go:83:5:83:6 | ok | exprs.go:83:6:83:6 | ok is true |
| exprs.go:83:6:83:6 | ok is false | exprs.go:86:2:86:6 | panic |
| exprs.go:83:6:83:6 | ok is true | exprs.go:84:10:84:12 | val |
| exprs.go:83:5:83:6 | ok | exprs.go:83:5:83:6 | ok is false |
| exprs.go:83:5:83:6 | ok | exprs.go:83:5:83:6 | ok is true |
| exprs.go:83:5:83:6 | ok is false | exprs.go:86:2:86:6 | panic |
| exprs.go:83:5:83:6 | ok is true | exprs.go:84:10:84:12 | val |
| exprs.go:84:3:84:12 | return statement | exprs.go:87:1:87:1 | exit |
| exprs.go:84:10:84:12 | val | exprs.go:84:3:84:12 | return statement |
| exprs.go:86:2:86:6 | panic | exprs.go:86:8:86:17 | "No value" |
@@ -485,15 +485,15 @@
| exprs.go:93:19:93:19 | argument corresponding to z | exprs.go:93:19:93:19 | initialization of z |
| exprs.go:93:19:93:19 | initialization of z | exprs.go:94:10:94:10 | x |
| exprs.go:94:2:94:21 | return statement | exprs.go:95:1:95:1 | exit |
| exprs.go:94:9:94:16 | (...) is false | exprs.go:94:21:94:21 | z |
| exprs.go:94:9:94:16 | (...) is true | exprs.go:94:9:94:21 | ...\|\|... |
| exprs.go:94:9:94:21 | ...\|\|... | exprs.go:94:2:94:21 | return statement |
| exprs.go:94:10:94:10 | x | exprs.go:94:10:94:10 | x is false |
| exprs.go:94:10:94:10 | x | exprs.go:94:10:94:10 | x is true |
| exprs.go:94:10:94:10 | x is false | exprs.go:94:16:94:16 | (...) is false |
| exprs.go:94:10:94:10 | x is false | exprs.go:94:9:94:16 | (...) is false |
| exprs.go:94:10:94:10 | x is true | exprs.go:94:15:94:15 | y |
| exprs.go:94:15:94:15 | y | exprs.go:94:16:94:16 | (...) is false |
| exprs.go:94:15:94:15 | y | exprs.go:94:16:94:16 | (...) is true |
| exprs.go:94:16:94:16 | (...) is false | exprs.go:94:21:94:21 | z |
| exprs.go:94:16:94:16 | (...) is true | exprs.go:94:9:94:21 | ...\|\|... |
| exprs.go:94:15:94:15 | y | exprs.go:94:9:94:16 | (...) is false |
| exprs.go:94:15:94:15 | y | exprs.go:94:9:94:16 | (...) is true |
| exprs.go:94:21:94:21 | z | exprs.go:94:9:94:21 | ...\|\|... |
| generic.go:0:0:0:0 | entry | generic.go:3:1:5:1 | skip |
| generic.go:3:1:5:1 | skip | generic.go:7:28:7:35 | skip |
@@ -637,11 +637,11 @@
| main.go:15:12:15:12 | x | main.go:15:15:15:15 | y |
| main.go:15:15:15:15 | y | main.go:15:2:15:16 | call to Print |
| main.go:16:5:16:8 | cond | main.go:16:5:16:10 | call to cond |
| main.go:16:5:16:10 | call to cond | main.go:16:10:16:10 | call to cond is false |
| main.go:16:5:16:10 | call to cond | main.go:16:10:16:10 | call to cond is true |
| main.go:16:5:16:10 | call to cond | main.go:16:5:16:10 | call to cond is false |
| main.go:16:5:16:10 | call to cond | main.go:16:5:16:10 | call to cond is true |
| main.go:16:5:16:10 | call to cond | main.go:24:1:24:1 | exit |
| main.go:16:10:16:10 | call to cond is false | main.go:19:2:19:10 | selection of Print |
| main.go:16:10:16:10 | call to cond is true | main.go:17:3:17:3 | y |
| main.go:16:5:16:10 | call to cond is false | main.go:19:2:19:10 | selection of Print |
| main.go:16:5:16:10 | call to cond is true | main.go:17:3:17:3 | y |
| main.go:17:3:17:3 | assignment to y | main.go:19:2:19:10 | selection of Print |
| main.go:17:3:17:3 | y | main.go:17:8:17:9 | 19 |
| main.go:17:3:17:9 | ... += ... | main.go:17:3:17:3 | assignment to y |
@@ -652,11 +652,11 @@
| main.go:19:12:19:12 | x | main.go:19:15:19:15 | y |
| main.go:19:15:19:15 | y | main.go:19:2:19:16 | call to Print |
| main.go:20:5:20:8 | cond | main.go:20:5:20:10 | call to cond |
| main.go:20:5:20:10 | call to cond | main.go:20:10:20:10 | call to cond is false |
| main.go:20:5:20:10 | call to cond | main.go:20:10:20:10 | call to cond is true |
| main.go:20:5:20:10 | call to cond | main.go:20:5:20:10 | call to cond is false |
| main.go:20:5:20:10 | call to cond | main.go:20:5:20:10 | call to cond is true |
| main.go:20:5:20:10 | call to cond | main.go:24:1:24:1 | exit |
| main.go:20:10:20:10 | call to cond is false | main.go:23:2:23:10 | selection of Print |
| main.go:20:10:20:10 | call to cond is true | main.go:21:3:21:3 | skip |
| main.go:20:5:20:10 | call to cond is false | main.go:23:2:23:10 | selection of Print |
| main.go:20:5:20:10 | call to cond is true | main.go:21:3:21:3 | skip |
| main.go:21:3:21:3 | assignment to x | main.go:23:2:23:10 | selection of Print |
| main.go:21:3:21:3 | skip | main.go:21:7:21:7 | y |
| main.go:21:7:21:7 | y | main.go:21:3:21:3 | assignment to x |
@@ -676,11 +676,11 @@
| main.go:27:10:27:10 | x | main.go:27:13:27:13 | 0 |
| main.go:27:13:27:13 | 0 | main.go:27:2:27:2 | assignment to a |
| main.go:28:5:28:8 | cond | main.go:28:5:28:10 | call to cond |
| main.go:28:5:28:10 | call to cond | main.go:28:10:28:10 | call to cond is false |
| main.go:28:5:28:10 | call to cond | main.go:28:10:28:10 | call to cond is true |
| main.go:28:5:28:10 | call to cond | main.go:28:5:28:10 | call to cond is false |
| main.go:28:5:28:10 | call to cond | main.go:28:5:28:10 | call to cond is true |
| main.go:28:5:28:10 | call to cond | main.go:32:1:32:1 | exit |
| main.go:28:10:28:10 | call to cond is false | main.go:31:9:31:9 | a |
| main.go:28:10:28:10 | call to cond is true | main.go:29:3:29:3 | skip |
| main.go:28:5:28:10 | call to cond is false | main.go:31:9:31:9 | a |
| main.go:28:5:28:10 | call to cond is true | main.go:29:3:29:3 | skip |
| main.go:29:3:29:3 | assignment to a | main.go:29:6:29:6 | assignment to b |
| main.go:29:3:29:3 | skip | main.go:29:6:29:6 | skip |
| main.go:29:6:29:6 | assignment to b | main.go:31:9:31:9 | a |
@@ -712,11 +712,11 @@
| main.go:40:9:40:10 | &... | main.go:40:2:40:4 | assignment to ptr |
| main.go:40:10:40:10 | x | main.go:40:9:40:10 | &... |
| main.go:41:5:41:8 | cond | main.go:41:5:41:10 | call to cond |
| main.go:41:5:41:10 | call to cond | main.go:41:10:41:10 | call to cond is false |
| main.go:41:5:41:10 | call to cond | main.go:41:10:41:10 | call to cond is true |
| main.go:41:5:41:10 | call to cond | main.go:41:5:41:10 | call to cond is false |
| main.go:41:5:41:10 | call to cond | main.go:41:5:41:10 | call to cond is true |
| main.go:41:5:41:10 | call to cond | main.go:45:1:45:1 | exit |
| main.go:41:10:41:10 | call to cond is false | main.go:44:2:44:10 | selection of Print |
| main.go:41:10:41:10 | call to cond is true | main.go:42:3:42:6 | bump |
| main.go:41:5:41:10 | call to cond is false | main.go:44:2:44:10 | selection of Print |
| main.go:41:5:41:10 | call to cond is true | main.go:42:3:42:6 | bump |
| main.go:42:3:42:6 | bump | main.go:42:8:42:10 | ptr |
| main.go:42:3:42:11 | call to bump | main.go:44:2:44:10 | selection of Print |
| main.go:42:3:42:11 | call to bump | main.go:45:1:45:1 | exit |
@@ -748,11 +748,11 @@
| main.go:57:6:57:6 | skip | main.go:57:6:57:6 | zero value for x |
| main.go:57:6:57:6 | zero value for x | main.go:57:6:57:6 | assignment to x |
| main.go:58:6:58:9 | cond | main.go:58:6:58:11 | call to cond |
| main.go:58:6:58:11 | call to cond | main.go:58:11:58:11 | call to cond is false |
| main.go:58:6:58:11 | call to cond | main.go:58:11:58:11 | call to cond is true |
| main.go:58:6:58:11 | call to cond | main.go:58:6:58:11 | call to cond is false |
| main.go:58:6:58:11 | call to cond | main.go:58:6:58:11 | call to cond is true |
| main.go:58:6:58:11 | call to cond | main.go:80:1:80:1 | exit |
| main.go:58:11:58:11 | call to cond is false | main.go:61:2:61:10 | selection of Print |
| main.go:58:11:58:11 | call to cond is true | main.go:59:3:59:3 | skip |
| main.go:58:6:58:11 | call to cond is false | main.go:61:2:61:10 | selection of Print |
| main.go:58:6:58:11 | call to cond is true | main.go:59:3:59:3 | skip |
| main.go:59:3:59:3 | assignment to x | main.go:58:6:58:9 | cond |
| main.go:59:3:59:3 | skip | main.go:59:7:59:7 | 2 |
| main.go:59:7:59:7 | 2 | main.go:59:3:59:3 | assignment to x |
@@ -771,11 +771,11 @@
| main.go:64:16:64:18 | increment statement | main.go:65:6:65:9 | cond |
| main.go:64:16:64:18 | rhs of increment statement | main.go:64:16:64:18 | increment statement |
| main.go:65:6:65:9 | cond | main.go:65:6:65:11 | call to cond |
| main.go:65:6:65:11 | call to cond | main.go:65:11:65:11 | call to cond is false |
| main.go:65:6:65:11 | call to cond | main.go:65:11:65:11 | call to cond is true |
| main.go:65:6:65:11 | call to cond | main.go:65:6:65:11 | call to cond is false |
| main.go:65:6:65:11 | call to cond | main.go:65:6:65:11 | call to cond is true |
| main.go:65:6:65:11 | call to cond | main.go:80:1:80:1 | exit |
| main.go:65:11:65:11 | call to cond is false | main.go:68:3:68:3 | skip |
| main.go:65:11:65:11 | call to cond is true | main.go:66:4:66:8 | skip |
| main.go:65:6:65:11 | call to cond is false | main.go:68:3:68:3 | skip |
| main.go:65:6:65:11 | call to cond is true | main.go:66:4:66:8 | skip |
| main.go:66:4:66:8 | skip | main.go:70:2:70:10 | selection of Print |
| main.go:68:3:68:3 | assignment to y | main.go:64:16:64:16 | i |
| main.go:68:3:68:3 | skip | main.go:68:7:68:7 | 2 |
@@ -798,11 +798,11 @@
| main.go:74:3:74:3 | skip | main.go:74:7:74:7 | 2 |
| main.go:74:7:74:7 | 2 | main.go:74:3:74:3 | assignment to z |
| main.go:75:6:75:9 | cond | main.go:75:6:75:11 | call to cond |
| main.go:75:6:75:11 | call to cond | main.go:75:11:75:11 | call to cond is false |
| main.go:75:6:75:11 | call to cond | main.go:75:11:75:11 | call to cond is true |
| main.go:75:6:75:11 | call to cond | main.go:75:6:75:11 | call to cond is false |
| main.go:75:6:75:11 | call to cond | main.go:75:6:75:11 | call to cond is true |
| main.go:75:6:75:11 | call to cond | main.go:80:1:80:1 | exit |
| main.go:75:11:75:11 | call to cond is false | main.go:73:16:73:16 | i |
| main.go:75:11:75:11 | call to cond is true | main.go:76:4:76:8 | skip |
| main.go:75:6:75:11 | call to cond is false | main.go:73:16:73:16 | i |
| main.go:75:6:75:11 | call to cond is true | main.go:76:4:76:8 | skip |
| main.go:76:4:76:8 | skip | main.go:79:2:79:10 | selection of Print |
| main.go:79:2:79:10 | selection of Print | main.go:79:12:79:12 | z |
| main.go:79:2:79:13 | call to Print | main.go:80:1:80:1 | exit |
@@ -840,11 +840,11 @@
| main.go:89:10:89:10 | x | main.go:89:13:89:13 | 0 |
| main.go:89:13:89:13 | 0 | main.go:89:2:89:2 | assignment to a |
| main.go:90:5:90:8 | cond | main.go:90:5:90:10 | call to cond |
| main.go:90:5:90:10 | call to cond | main.go:90:10:90:10 | call to cond is false |
| main.go:90:5:90:10 | call to cond | main.go:90:10:90:10 | call to cond is true |
| main.go:90:5:90:10 | call to cond | main.go:90:5:90:10 | call to cond is false |
| main.go:90:5:90:10 | call to cond | main.go:90:5:90:10 | call to cond is true |
| main.go:90:5:90:10 | call to cond | main.go:96:1:96:1 | exit |
| main.go:90:10:90:10 | call to cond is false | main.go:93:3:93:3 | skip |
| main.go:90:10:90:10 | call to cond is true | main.go:91:3:91:3 | skip |
| main.go:90:5:90:10 | call to cond is false | main.go:93:3:93:3 | skip |
| main.go:90:5:90:10 | call to cond is true | main.go:91:3:91:3 | skip |
| main.go:91:3:91:3 | assignment to a | main.go:95:9:95:9 | a |
| main.go:91:3:91:3 | skip | main.go:91:6:91:6 | skip |
| main.go:91:6:91:6 | skip | main.go:91:10:91:10 | b |
@@ -872,11 +872,11 @@
| noretfunctions.go:12:13:12:13 | argument corresponding to x | noretfunctions.go:12:13:12:13 | initialization of x |
| noretfunctions.go:12:13:12:13 | initialization of x | noretfunctions.go:13:5:13:5 | x |
| noretfunctions.go:13:5:13:5 | x | noretfunctions.go:13:10:13:10 | 0 |
| noretfunctions.go:13:5:13:10 | ...!=... | noretfunctions.go:13:10:13:10 | ...!=... is false |
| noretfunctions.go:13:5:13:10 | ...!=... | noretfunctions.go:13:10:13:10 | ...!=... is true |
| noretfunctions.go:13:5:13:10 | ...!=... | noretfunctions.go:13:5:13:10 | ...!=... is false |
| noretfunctions.go:13:5:13:10 | ...!=... | noretfunctions.go:13:5:13:10 | ...!=... is true |
| noretfunctions.go:13:5:13:10 | ...!=... is false | noretfunctions.go:16:1:16:1 | exit |
| noretfunctions.go:13:5:13:10 | ...!=... is true | noretfunctions.go:14:3:14:9 | selection of Exit |
| noretfunctions.go:13:10:13:10 | 0 | noretfunctions.go:13:5:13:10 | ...!=... |
| noretfunctions.go:13:10:13:10 | ...!=... is false | noretfunctions.go:16:1:16:1 | exit |
| noretfunctions.go:13:10:13:10 | ...!=... is true | noretfunctions.go:14:3:14:9 | selection of Exit |
| noretfunctions.go:14:3:14:9 | selection of Exit | noretfunctions.go:14:11:14:11 | x |
| noretfunctions.go:14:3:14:12 | call to Exit | noretfunctions.go:16:1:16:1 | exit |
| noretfunctions.go:14:11:14:11 | x | noretfunctions.go:14:3:14:12 | call to Exit |
@@ -1064,9 +1064,9 @@
| stmts6.go:3:1:3:1 | entry | stmts6.go:4:5:4:8 | true |
| stmts6.go:3:1:8:1 | function declaration | stmts6.go:0:0:0:0 | exit |
| stmts6.go:3:6:3:11 | skip | stmts6.go:3:1:8:1 | function declaration |
| stmts6.go:4:5:4:8 | true | stmts6.go:4:8:4:8 | true is true |
| stmts6.go:4:8:4:8 | true is false | stmts6.go:7:9:7:10 | 23 |
| stmts6.go:4:8:4:8 | true is true | stmts6.go:5:10:5:11 | 42 |
| stmts6.go:4:5:4:8 | true | stmts6.go:4:5:4:8 | true is true |
| stmts6.go:4:5:4:8 | true is false | stmts6.go:7:9:7:10 | 23 |
| stmts6.go:4:5:4:8 | true is true | stmts6.go:5:10:5:11 | 42 |
| stmts6.go:5:3:5:11 | return statement | stmts6.go:8:1:8:1 | exit |
| stmts6.go:5:10:5:11 | 42 | stmts6.go:5:3:5:11 | return statement |
| stmts6.go:7:9:7:10 | 23 | stmts6.go:7:2:7:10 | return statement |
@@ -1149,10 +1149,10 @@
| stmts8.go:9:1:9:1 | entry | stmts8.go:10:5:10:9 | linux |
| stmts8.go:9:1:14:1 | function declaration | stmts8.go:0:0:0:0 | exit |
| stmts8.go:9:6:9:12 | skip | stmts8.go:9:1:14:1 | function declaration |
| stmts8.go:10:5:10:9 | linux | stmts8.go:10:9:10:9 | linux is false |
| stmts8.go:10:5:10:9 | linux | stmts8.go:10:9:10:9 | linux is true |
| stmts8.go:10:9:10:9 | linux is false | stmts8.go:13:9:13:13 | false |
| stmts8.go:10:9:10:9 | linux is true | stmts8.go:11:10:11:13 | true |
| stmts8.go:10:5:10:9 | linux | stmts8.go:10:5:10:9 | linux is false |
| stmts8.go:10:5:10:9 | linux | stmts8.go:10:5:10:9 | linux is true |
| stmts8.go:10:5:10:9 | linux is false | stmts8.go:13:9:13:13 | false |
| stmts8.go:10:5:10:9 | linux is true | stmts8.go:11:10:11:13 | true |
| stmts8.go:11:3:11:13 | return statement | stmts8.go:14:1:14:1 | exit |
| stmts8.go:11:10:11:13 | true | stmts8.go:11:3:11:13 | return statement |
| stmts8.go:13:2:13:13 | return statement | stmts8.go:14:1:14:1 | exit |
@@ -1164,10 +1164,10 @@
| stmts.go:10:6:10:10 | skip | stmts.go:10:1:43:1 | function declaration |
| stmts.go:10:12:10:12 | argument corresponding to b | stmts.go:10:12:10:12 | initialization of b |
| stmts.go:10:12:10:12 | initialization of b | stmts.go:12:7:12:7 | b |
| stmts.go:12:6:12:7 | !... | stmts.go:12:7:12:7 | !... is false |
| stmts.go:12:6:12:7 | !... | stmts.go:12:7:12:7 | !... is true |
| stmts.go:12:7:12:7 | !... is false | stmts.go:15:3:16:3 | skip |
| stmts.go:12:7:12:7 | !... is true | stmts.go:13:4:13:13 | skip |
| stmts.go:12:6:12:7 | !... | stmts.go:12:6:12:7 | !... is false |
| stmts.go:12:6:12:7 | !... | stmts.go:12:6:12:7 | !... is true |
| stmts.go:12:6:12:7 | !... is false | stmts.go:15:3:16:3 | skip |
| stmts.go:12:6:12:7 | !... is true | stmts.go:13:4:13:13 | skip |
| stmts.go:12:7:12:7 | b | stmts.go:12:6:12:7 | !... |
| stmts.go:13:4:13:13 | skip | stmts.go:23:6:23:9 | true |
| stmts.go:15:3:16:3 | skip | stmts.go:17:3:17:3 | skip |
@@ -1176,18 +1176,18 @@
| stmts.go:20:2:20:18 | call to Println | stmts.go:23:6:23:9 | true |
| stmts.go:20:2:20:18 | call to Println | stmts.go:43:1:43:1 | exit |
| stmts.go:20:14:20:17 | "Hi" | stmts.go:20:2:20:18 | call to Println |
| stmts.go:23:6:23:9 | true | stmts.go:23:9:23:9 | true is true |
| stmts.go:23:9:23:9 | true is false | stmts.go:39:2:39:2 | skip |
| stmts.go:23:9:23:9 | true is true | stmts.go:24:7:24:7 | skip |
| stmts.go:23:6:23:9 | true | stmts.go:23:6:23:9 | true is true |
| stmts.go:23:6:23:9 | true is false | stmts.go:39:2:39:2 | skip |
| stmts.go:23:6:23:9 | true is true | stmts.go:24:7:24:7 | skip |
| stmts.go:24:7:24:7 | assignment to i | stmts.go:24:15:24:15 | i |
| stmts.go:24:7:24:7 | skip | stmts.go:24:12:24:12 | 0 |
| stmts.go:24:12:24:12 | 0 | stmts.go:24:7:24:7 | assignment to i |
| stmts.go:24:15:24:15 | i | stmts.go:24:19:24:20 | 10 |
| stmts.go:24:15:24:20 | ...<... | stmts.go:24:20:24:20 | ...<... is false |
| stmts.go:24:15:24:20 | ...<... | stmts.go:24:20:24:20 | ...<... is true |
| stmts.go:24:15:24:20 | ...<... | stmts.go:24:15:24:20 | ...<... is false |
| stmts.go:24:15:24:20 | ...<... | stmts.go:24:15:24:20 | ...<... is true |
| stmts.go:24:15:24:20 | ...<... is false | stmts.go:23:6:23:9 | true |
| stmts.go:24:15:24:20 | ...<... is true | stmts.go:25:7:25:7 | skip |
| stmts.go:24:19:24:20 | 10 | stmts.go:24:15:24:20 | ...<... |
| stmts.go:24:20:24:20 | ...<... is false | stmts.go:23:6:23:9 | true |
| stmts.go:24:20:24:20 | ...<... is true | stmts.go:25:7:25:7 | skip |
| stmts.go:24:23:24:23 | i | stmts.go:24:23:24:25 | 1 |
| stmts.go:24:23:24:25 | 1 | stmts.go:24:23:24:25 | rhs of increment statement |
| stmts.go:24:23:24:25 | increment statement | stmts.go:24:15:24:15 | i |
@@ -1198,32 +1198,32 @@
| stmts.go:25:12:25:16 | ...-... | stmts.go:25:7:25:7 | assignment to j |
| stmts.go:25:16:25:16 | 1 | stmts.go:25:12:25:16 | ...-... |
| stmts.go:25:19:25:19 | j | stmts.go:25:23:25:23 | 5 |
| stmts.go:25:19:25:23 | ...>... | stmts.go:25:23:25:23 | ...>... is false |
| stmts.go:25:19:25:23 | ...>... | stmts.go:25:23:25:23 | ...>... is true |
| stmts.go:25:19:25:23 | ...>... | stmts.go:25:19:25:23 | ...>... is false |
| stmts.go:25:19:25:23 | ...>... | stmts.go:25:19:25:23 | ...>... is true |
| stmts.go:25:19:25:23 | ...>... is false | stmts.go:27:14:27:14 | i |
| stmts.go:25:19:25:23 | ...>... is true | stmts.go:26:5:26:15 | skip |
| stmts.go:25:23:25:23 | 5 | stmts.go:25:19:25:23 | ...>... |
| stmts.go:25:23:25:23 | ...>... is false | stmts.go:27:14:27:14 | i |
| stmts.go:25:23:25:23 | ...>... is true | stmts.go:26:5:26:15 | skip |
| stmts.go:26:5:26:15 | skip | stmts.go:39:2:39:2 | skip |
| stmts.go:27:14:27:14 | i | stmts.go:27:18:27:18 | 3 |
| stmts.go:27:14:27:18 | ...<... | stmts.go:27:18:27:18 | ...<... is false |
| stmts.go:27:14:27:18 | ...<... | stmts.go:27:18:27:18 | ...<... is true |
| stmts.go:27:14:27:18 | ...<... | stmts.go:27:14:27:18 | ...<... is false |
| stmts.go:27:14:27:18 | ...<... | stmts.go:27:14:27:18 | ...<... is true |
| stmts.go:27:14:27:18 | ...<... is false | stmts.go:29:14:29:14 | i |
| stmts.go:27:14:27:18 | ...<... is true | stmts.go:28:5:28:9 | skip |
| stmts.go:27:18:27:18 | 3 | stmts.go:27:14:27:18 | ...<... |
| stmts.go:27:18:27:18 | ...<... is false | stmts.go:29:14:29:14 | i |
| stmts.go:27:18:27:18 | ...<... is true | stmts.go:28:5:28:9 | skip |
| stmts.go:28:5:28:9 | skip | stmts.go:23:6:23:9 | true |
| stmts.go:29:14:29:14 | i | stmts.go:29:19:29:19 | 9 |
| stmts.go:29:14:29:19 | ...!=... | stmts.go:29:19:29:19 | ...!=... is false |
| stmts.go:29:14:29:19 | ...!=... | stmts.go:29:19:29:19 | ...!=... is true |
| stmts.go:29:14:29:19 | ...!=... | stmts.go:29:14:29:19 | ...!=... is false |
| stmts.go:29:14:29:19 | ...!=... | stmts.go:29:14:29:19 | ...!=... is true |
| stmts.go:29:14:29:19 | ...!=... is false | stmts.go:31:14:31:14 | i |
| stmts.go:29:14:29:19 | ...!=... is true | stmts.go:30:5:30:18 | skip |
| stmts.go:29:19:29:19 | 9 | stmts.go:29:14:29:19 | ...!=... |
| stmts.go:29:19:29:19 | ...!=... is false | stmts.go:31:14:31:14 | i |
| stmts.go:29:19:29:19 | ...!=... is true | stmts.go:30:5:30:18 | skip |
| stmts.go:30:5:30:18 | skip | stmts.go:23:6:23:9 | true |
| stmts.go:31:14:31:14 | i | stmts.go:31:19:31:19 | 4 |
| stmts.go:31:14:31:19 | ...>=... | stmts.go:31:19:31:19 | ...>=... is false |
| stmts.go:31:14:31:19 | ...>=... | stmts.go:31:19:31:19 | ...>=... is true |
| stmts.go:31:14:31:19 | ...>=... | stmts.go:31:14:31:19 | ...>=... is false |
| stmts.go:31:14:31:19 | ...>=... | stmts.go:31:14:31:19 | ...>=... is true |
| stmts.go:31:14:31:19 | ...>=... is false | stmts.go:34:5:34:12 | skip |
| stmts.go:31:14:31:19 | ...>=... is true | stmts.go:32:5:32:14 | skip |
| stmts.go:31:19:31:19 | 4 | stmts.go:31:14:31:19 | ...>=... |
| stmts.go:31:19:31:19 | ...>=... is false | stmts.go:34:5:34:12 | skip |
| stmts.go:31:19:31:19 | ...>=... is true | stmts.go:32:5:32:14 | skip |
| stmts.go:32:5:32:14 | skip | stmts.go:23:6:23:9 | true |
| stmts.go:34:5:34:12 | skip | stmts.go:24:23:24:23 | i |
| stmts.go:39:2:39:2 | assignment to k | stmts.go:41:3:41:12 | skip |
@@ -1290,11 +1290,11 @@
| stmts.go:65:12:65:12 | argument corresponding to x | stmts.go:65:12:65:12 | initialization of x |
| stmts.go:65:12:65:12 | initialization of x | stmts.go:66:5:66:5 | x |
| stmts.go:66:5:66:5 | x | stmts.go:66:9:66:9 | 0 |
| stmts.go:66:5:66:9 | ...>... | stmts.go:66:9:66:9 | ...>... is false |
| stmts.go:66:5:66:9 | ...>... | stmts.go:66:9:66:9 | ...>... is true |
| stmts.go:66:5:66:9 | ...>... | stmts.go:66:5:66:9 | ...>... is false |
| stmts.go:66:5:66:9 | ...>... | stmts.go:66:5:66:9 | ...>... is true |
| stmts.go:66:5:66:9 | ...>... is false | stmts.go:69:9:69:34 | function literal |
| stmts.go:66:5:66:9 | ...>... is true | stmts.go:67:9:67:33 | function literal |
| stmts.go:66:9:66:9 | 0 | stmts.go:66:5:66:9 | ...>... |
| stmts.go:66:9:66:9 | ...>... is false | stmts.go:69:9:69:34 | function literal |
| stmts.go:66:9:66:9 | ...>... is true | stmts.go:67:9:67:33 | function literal |
| stmts.go:67:3:67:35 | defer statement | stmts.go:71:9:71:10 | 42 |
| stmts.go:67:9:67:9 | entry | stmts.go:67:18:67:28 | selection of Println |
| stmts.go:67:9:67:33 | function literal | stmts.go:67:3:67:35 | defer statement |
@@ -1363,11 +1363,11 @@
| stmts.go:101:3:101:7 | test5 | stmts.go:101:9:101:12 | true |
| stmts.go:101:9:101:12 | true | stmts.go:101:3:101:13 | call to test5 |
| stmts.go:104:2:104:2 | true | stmts.go:107:7:107:10 | true |
| stmts.go:107:7:107:10 | case true | stmts.go:107:10:107:10 | true is false |
| stmts.go:107:7:107:10 | case true | stmts.go:107:10:107:10 | true is true |
| stmts.go:107:7:107:10 | case true | stmts.go:107:7:107:10 | true is false |
| stmts.go:107:7:107:10 | case true | stmts.go:107:7:107:10 | true is true |
| stmts.go:107:7:107:10 | true | stmts.go:107:7:107:10 | case true |
| stmts.go:107:10:107:10 | true is false | stmts.go:106:3:106:7 | skip |
| stmts.go:107:10:107:10 | true is true | stmts.go:107:2:107:11 | skip |
| stmts.go:107:7:107:10 | true is false | stmts.go:106:3:106:7 | skip |
| stmts.go:107:7:107:10 | true is true | stmts.go:107:2:107:11 | skip |
| stmts.go:112:1:112:1 | entry | stmts.go:112:12:112:12 | argument corresponding to x |
| stmts.go:112:1:137:1 | function declaration | stmts.go:140:6:140:11 | skip |
| stmts.go:112:6:112:10 | skip | stmts.go:112:1:137:1 | function declaration |
@@ -1446,11 +1446,11 @@
| stmts.go:146:17:146:18 | next key-value pair in range | stmts.go:153:20:153:21 | xs |
| stmts.go:146:17:146:18 | xs | stmts.go:146:17:146:18 | next key-value pair in range |
| stmts.go:147:6:147:6 | x | stmts.go:147:10:147:10 | 5 |
| stmts.go:147:6:147:10 | ...>... | stmts.go:147:10:147:10 | ...>... is false |
| stmts.go:147:6:147:10 | ...>... | stmts.go:147:10:147:10 | ...>... is true |
| stmts.go:147:6:147:10 | ...>... | stmts.go:147:6:147:10 | ...>... is false |
| stmts.go:147:6:147:10 | ...>... | stmts.go:147:6:147:10 | ...>... is true |
| stmts.go:147:6:147:10 | ...>... is false | stmts.go:150:3:150:11 | selection of Print |
| stmts.go:147:6:147:10 | ...>... is true | stmts.go:148:4:148:11 | skip |
| stmts.go:147:10:147:10 | 5 | stmts.go:147:6:147:10 | ...>... |
| stmts.go:147:10:147:10 | ...>... is false | stmts.go:150:3:150:11 | selection of Print |
| stmts.go:147:10:147:10 | ...>... is true | stmts.go:148:4:148:11 | skip |
| stmts.go:148:4:148:11 | skip | stmts.go:146:17:146:18 | next key-value pair in range |
| stmts.go:150:3:150:11 | selection of Print | stmts.go:150:13:150:13 | x |
| stmts.go:150:3:150:14 | call to Print | stmts.go:146:17:146:18 | next key-value pair in range |
@@ -1484,27 +1484,27 @@
| tst.go:5:2:5:13 | skip | tst.go:12:1:12:1 | exit |
| tst.go:5:7:5:7 | x | tst.go:5:11:5:12 | 23 |
| tst.go:5:7:5:12 | ...<... | tst.go:5:7:5:12 | case ...<... |
| tst.go:5:7:5:12 | case ...<... | tst.go:5:12:5:12 | ...<... is false |
| tst.go:5:7:5:12 | case ...<... | tst.go:5:12:5:12 | ...<... is true |
| tst.go:5:7:5:12 | ...<... is false | tst.go:7:7:7:7 | x |
| tst.go:5:7:5:12 | ...<... is true | tst.go:5:2:5:13 | skip |
| tst.go:5:7:5:12 | case ...<... | tst.go:5:7:5:12 | ...<... is false |
| tst.go:5:7:5:12 | case ...<... | tst.go:5:7:5:12 | ...<... is true |
| tst.go:5:11:5:12 | 23 | tst.go:5:7:5:12 | ...<... |
| tst.go:5:12:5:12 | ...<... is false | tst.go:7:7:7:7 | x |
| tst.go:5:12:5:12 | ...<... is true | tst.go:5:2:5:13 | skip |
| tst.go:7:2:7:13 | skip | tst.go:12:1:12:1 | exit |
| tst.go:7:7:7:7 | x | tst.go:7:11:7:12 | 42 |
| tst.go:7:7:7:12 | ...<... | tst.go:7:7:7:12 | case ...<... |
| tst.go:7:7:7:12 | case ...<... | tst.go:7:12:7:12 | ...<... is false |
| tst.go:7:7:7:12 | case ...<... | tst.go:7:12:7:12 | ...<... is true |
| tst.go:7:7:7:12 | ...<... is false | tst.go:9:7:9:7 | x |
| tst.go:7:7:7:12 | ...<... is true | tst.go:7:2:7:13 | skip |
| tst.go:7:7:7:12 | case ...<... | tst.go:7:7:7:12 | ...<... is false |
| tst.go:7:7:7:12 | case ...<... | tst.go:7:7:7:12 | ...<... is true |
| tst.go:7:11:7:12 | 42 | tst.go:7:7:7:12 | ...<... |
| tst.go:7:12:7:12 | ...<... is false | tst.go:9:7:9:7 | x |
| tst.go:7:12:7:12 | ...<... is true | tst.go:7:2:7:13 | skip |
| tst.go:9:2:9:13 | skip | tst.go:12:1:12:1 | exit |
| tst.go:9:7:9:7 | x | tst.go:9:11:9:12 | 23 |
| tst.go:9:7:9:12 | ...<... | tst.go:9:7:9:12 | case ...<... |
| tst.go:9:7:9:12 | case ...<... | tst.go:9:12:9:12 | ...<... is false |
| tst.go:9:7:9:12 | case ...<... | tst.go:9:12:9:12 | ...<... is true |
| tst.go:9:7:9:12 | ...<... is false | tst.go:12:1:12:1 | exit |
| tst.go:9:7:9:12 | ...<... is true | tst.go:9:2:9:13 | skip |
| tst.go:9:7:9:12 | case ...<... | tst.go:9:7:9:12 | ...<... is false |
| tst.go:9:7:9:12 | case ...<... | tst.go:9:7:9:12 | ...<... is true |
| tst.go:9:11:9:12 | 23 | tst.go:9:7:9:12 | ...<... |
| tst.go:9:12:9:12 | ...<... is false | tst.go:12:1:12:1 | exit |
| tst.go:9:12:9:12 | ...<... is true | tst.go:9:2:9:13 | skip |
| tst.go:14:1:14:1 | entry | tst.go:14:13:14:17 | argument corresponding to value |
| tst.go:14:1:21:1 | function declaration | tst.go:23:6:23:11 | skip |
| tst.go:14:6:14:11 | skip | tst.go:14:1:21:1 | function declaration |
@@ -1514,19 +1514,19 @@
| tst.go:16:2:16:34 | skip | tst.go:21:1:21:1 | exit |
| tst.go:16:7:16:11 | value | tst.go:16:15:16:33 | ...*... |
| tst.go:16:7:16:33 | ...<... | tst.go:16:7:16:33 | case ...<... |
| tst.go:16:7:16:33 | case ...<... | tst.go:16:33:16:33 | ...<... is false |
| tst.go:16:7:16:33 | case ...<... | tst.go:16:33:16:33 | ...<... is true |
| tst.go:16:7:16:33 | ...<... is false | tst.go:18:7:18:11 | value |
| tst.go:16:7:16:33 | ...<... is true | tst.go:16:2:16:34 | skip |
| tst.go:16:7:16:33 | case ...<... | tst.go:16:7:16:33 | ...<... is false |
| tst.go:16:7:16:33 | case ...<... | tst.go:16:7:16:33 | ...<... is true |
| tst.go:16:15:16:33 | ...*... | tst.go:16:7:16:33 | ...<... |
| tst.go:16:33:16:33 | ...<... is false | tst.go:18:7:18:11 | value |
| tst.go:16:33:16:33 | ...<... is true | tst.go:16:2:16:34 | skip |
| tst.go:18:2:18:39 | skip | tst.go:21:1:21:1 | exit |
| tst.go:18:7:18:11 | value | tst.go:18:15:18:38 | ...*... |
| tst.go:18:7:18:38 | ...<... | tst.go:18:7:18:38 | case ...<... |
| tst.go:18:7:18:38 | case ...<... | tst.go:18:38:18:38 | ...<... is false |
| tst.go:18:7:18:38 | case ...<... | tst.go:18:38:18:38 | ...<... is true |
| tst.go:18:7:18:38 | ...<... is false | tst.go:21:1:21:1 | exit |
| tst.go:18:7:18:38 | ...<... is true | tst.go:18:2:18:39 | skip |
| tst.go:18:7:18:38 | case ...<... | tst.go:18:7:18:38 | ...<... is false |
| tst.go:18:7:18:38 | case ...<... | tst.go:18:7:18:38 | ...<... is true |
| tst.go:18:15:18:38 | ...*... | tst.go:18:7:18:38 | ...<... |
| tst.go:18:38:18:38 | ...<... is false | tst.go:21:1:21:1 | exit |
| tst.go:18:38:18:38 | ...<... is true | tst.go:18:2:18:39 | skip |
| tst.go:23:1:23:1 | entry | tst.go:24:2:24:2 | true |
| tst.go:23:1:26:1 | function declaration | tst.go:28:6:28:11 | skip |
| tst.go:23:6:23:11 | skip | tst.go:23:1:26:1 | function declaration |