зеркало из https://github.com/github/codeql.git
Shared: Do not use `@kind graph` for CFG test output
This commit is contained in:
Родитель
ec74595671
Коммит
16813240ae
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -1,12 +1,3 @@
|
|||
/**
|
||||
* @kind graph
|
||||
*/
|
||||
|
||||
import csharp
|
||||
import Common
|
||||
|
||||
private class MyRelevantNode extends SourceControlFlowNode {
|
||||
string getOrderDisambiguation() { result = "" }
|
||||
}
|
||||
|
||||
import semmle.code.csharp.controlflow.internal.ControlFlowGraphImpl::TestOutput<MyRelevantNode>
|
||||
import semmle.code.csharp.controlflow.internal.ControlFlowGraphImpl::TestOutput<SourceControlFlowNode>
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -1,11 +1,2 @@
|
|||
/**
|
||||
* @kind graph
|
||||
*/
|
||||
|
||||
import codeql.ruby.CFG
|
||||
|
||||
class MyRelevantNode extends CfgNode {
|
||||
string getOrderDisambiguation() { result = "" }
|
||||
}
|
||||
|
||||
import codeql.ruby.controlflow.internal.ControlFlowGraphImpl::TestOutput<MyRelevantNode>
|
||||
import codeql.ruby.controlflow.internal.ControlFlowGraphImpl::TestOutput<CfgNode>
|
||||
|
|
|
@ -1,650 +1,216 @@
|
|||
nodes
|
||||
| test.rs:1:1:4:1 | enter test_call | semmle.order | 1 |
|
||||
| test.rs:1:1:4:1 | exit test_call | semmle.order | 2 |
|
||||
| test.rs:1:1:4:1 | exit test_call (normal) | semmle.order | 3 |
|
||||
| test.rs:1:24:4:1 | BlockExpr | semmle.order | 4 |
|
||||
| test.rs:2:5:2:21 | PathExpr | semmle.order | 5 |
|
||||
| test.rs:2:5:2:40 | CallExpr | semmle.order | 6 |
|
||||
| test.rs:2:5:2:41 | ExprStmt | semmle.order | 7 |
|
||||
| test.rs:2:23:2:26 | LiteralExpr | semmle.order | 8 |
|
||||
| test.rs:2:29:2:33 | LiteralExpr | semmle.order | 9 |
|
||||
| test.rs:2:36:2:39 | LiteralExpr | semmle.order | 10 |
|
||||
| test.rs:3:5:3:19 | PathExpr | semmle.order | 11 |
|
||||
| test.rs:3:5:3:23 | CallExpr | semmle.order | 12 |
|
||||
| test.rs:3:5:3:24 | ExprStmt | semmle.order | 13 |
|
||||
| test.rs:3:21:3:22 | LiteralExpr | semmle.order | 14 |
|
||||
| test.rs:8:5:24:5 | enter test_break_and_continue | semmle.order | 15 |
|
||||
| test.rs:8:5:24:5 | exit test_break_and_continue | semmle.order | 16 |
|
||||
| test.rs:8:5:24:5 | exit test_break_and_continue (normal) | semmle.order | 17 |
|
||||
| test.rs:9:9:9:22 | LetStmt | semmle.order | 18 |
|
||||
| test.rs:9:13:9:17 | IdentPat | semmle.order | 19 |
|
||||
| test.rs:9:21:9:21 | PathExpr | semmle.order | 20 |
|
||||
| test.rs:10:9:22:9 | ExprStmt | semmle.order | 21 |
|
||||
| test.rs:10:9:22:9 | LoopExpr | semmle.order | 22 |
|
||||
| test.rs:10:14:22:9 | BlockExpr | semmle.order | 23 |
|
||||
| test.rs:11:13:11:13 | PathExpr | semmle.order | 24 |
|
||||
| test.rs:11:13:11:23 | BinaryExpr | semmle.order | 25 |
|
||||
| test.rs:11:13:11:24 | ExprStmt | semmle.order | 26 |
|
||||
| test.rs:11:17:11:20 | PathExpr | semmle.order | 27 |
|
||||
| test.rs:11:17:11:23 | CallExpr | semmle.order | 28 |
|
||||
| test.rs:11:22:11:22 | PathExpr | semmle.order | 29 |
|
||||
| test.rs:12:13:14:13 | ExprStmt | semmle.order | 30 |
|
||||
| test.rs:12:13:14:13 | IfExpr | semmle.order | 31 |
|
||||
| test.rs:12:16:12:16 | PathExpr | semmle.order | 32 |
|
||||
| test.rs:12:16:12:24 | BinaryExpr | semmle.order | 33 |
|
||||
| test.rs:12:20:12:24 | LiteralExpr | semmle.order | 34 |
|
||||
| test.rs:13:17:13:28 | ReturnExpr | semmle.order | 35 |
|
||||
| test.rs:13:17:13:29 | ExprStmt | semmle.order | 36 |
|
||||
| test.rs:13:24:13:28 | LiteralExpr | semmle.order | 37 |
|
||||
| test.rs:15:13:17:13 | ExprStmt | semmle.order | 38 |
|
||||
| test.rs:15:13:17:13 | IfExpr | semmle.order | 39 |
|
||||
| test.rs:15:16:15:16 | PathExpr | semmle.order | 40 |
|
||||
| test.rs:15:16:15:21 | BinaryExpr | semmle.order | 41 |
|
||||
| test.rs:15:21:15:21 | LiteralExpr | semmle.order | 42 |
|
||||
| test.rs:16:17:16:21 | BreakExpr | semmle.order | 43 |
|
||||
| test.rs:16:17:16:22 | ExprStmt | semmle.order | 44 |
|
||||
| test.rs:18:13:20:13 | ExprStmt | semmle.order | 45 |
|
||||
| test.rs:18:13:20:13 | IfExpr | semmle.order | 46 |
|
||||
| test.rs:18:16:18:16 | PathExpr | semmle.order | 47 |
|
||||
| test.rs:18:16:18:20 | BinaryExpr | semmle.order | 48 |
|
||||
| test.rs:18:16:18:25 | BinaryExpr | semmle.order | 49 |
|
||||
| test.rs:18:20:18:20 | LiteralExpr | semmle.order | 50 |
|
||||
| test.rs:18:25:18:25 | LiteralExpr | semmle.order | 51 |
|
||||
| test.rs:19:17:19:24 | ContinueExpr | semmle.order | 52 |
|
||||
| test.rs:19:17:19:25 | ExprStmt | semmle.order | 53 |
|
||||
| test.rs:21:13:21:13 | PathExpr | semmle.order | 54 |
|
||||
| test.rs:21:13:21:21 | BinaryExpr | semmle.order | 55 |
|
||||
| test.rs:21:17:21:17 | PathExpr | semmle.order | 56 |
|
||||
| test.rs:21:17:21:21 | BinaryExpr | semmle.order | 57 |
|
||||
| test.rs:21:21:21:21 | LiteralExpr | semmle.order | 58 |
|
||||
| test.rs:23:9:23:19 | ReturnExpr | semmle.order | 59 |
|
||||
| test.rs:23:9:23:20 | ExprStmt | semmle.order | 60 |
|
||||
| test.rs:23:16:23:19 | LiteralExpr | semmle.order | 61 |
|
||||
| test.rs:26:5:38:5 | enter test_break_with_labels | semmle.order | 62 |
|
||||
| test.rs:26:5:38:5 | exit test_break_with_labels | semmle.order | 63 |
|
||||
| test.rs:26:5:38:5 | exit test_break_with_labels (normal) | semmle.order | 64 |
|
||||
| test.rs:26:41:38:5 | BlockExpr | semmle.order | 65 |
|
||||
| test.rs:27:9:36:9 | ExprStmt | semmle.order | 66 |
|
||||
| test.rs:27:9:36:9 | LoopExpr | semmle.order | 67 |
|
||||
| test.rs:27:22:36:9 | BlockExpr | semmle.order | 68 |
|
||||
| test.rs:28:13:35:13 | LoopExpr | semmle.order | 69 |
|
||||
| test.rs:29:17:33:17 | ExprStmt | semmle.order | 70 |
|
||||
| test.rs:29:17:33:17 | IfExpr | semmle.order | 71 |
|
||||
| test.rs:29:20:29:24 | LiteralExpr | semmle.order | 72 |
|
||||
| test.rs:30:21:30:25 | BreakExpr | semmle.order | 73 |
|
||||
| test.rs:30:21:30:26 | ExprStmt | semmle.order | 74 |
|
||||
| test.rs:31:24:33:17 | IfExpr | semmle.order | 75 |
|
||||
| test.rs:31:27:31:30 | LiteralExpr | semmle.order | 76 |
|
||||
| test.rs:32:21:32:32 | BreakExpr | semmle.order | 77 |
|
||||
| test.rs:32:21:32:33 | ExprStmt | semmle.order | 78 |
|
||||
| test.rs:34:17:34:28 | BreakExpr | semmle.order | 79 |
|
||||
| test.rs:34:17:34:29 | ExprStmt | semmle.order | 80 |
|
||||
| test.rs:37:9:37:12 | LiteralExpr | semmle.order | 81 |
|
||||
| test.rs:40:5:52:5 | enter test_continue_with_labels | semmle.order | 82 |
|
||||
| test.rs:42:13:42:13 | LiteralExpr | semmle.order | 83 |
|
||||
| test.rs:42:13:42:14 | ExprStmt | semmle.order | 84 |
|
||||
| test.rs:44:17:48:17 | ExprStmt | semmle.order | 85 |
|
||||
| test.rs:44:17:48:17 | IfExpr | semmle.order | 86 |
|
||||
| test.rs:44:20:44:24 | LiteralExpr | semmle.order | 87 |
|
||||
| test.rs:45:21:45:28 | ContinueExpr | semmle.order | 88 |
|
||||
| test.rs:45:21:45:29 | ExprStmt | semmle.order | 89 |
|
||||
| test.rs:46:24:48:17 | IfExpr | semmle.order | 90 |
|
||||
| test.rs:46:27:46:30 | LiteralExpr | semmle.order | 91 |
|
||||
| test.rs:47:21:47:35 | ContinueExpr | semmle.order | 92 |
|
||||
| test.rs:47:21:47:36 | ExprStmt | semmle.order | 93 |
|
||||
| test.rs:49:17:49:31 | ContinueExpr | semmle.order | 94 |
|
||||
| test.rs:49:17:49:32 | ExprStmt | semmle.order | 95 |
|
||||
| test.rs:55:1:58:1 | enter test_nested_function | semmle.order | 96 |
|
||||
| test.rs:55:1:58:1 | exit test_nested_function | semmle.order | 97 |
|
||||
| test.rs:55:1:58:1 | exit test_nested_function (normal) | semmle.order | 98 |
|
||||
| test.rs:55:40:58:1 | BlockExpr | semmle.order | 99 |
|
||||
| test.rs:56:5:56:28 | LetStmt | semmle.order | 100 |
|
||||
| test.rs:56:9:56:15 | IdentPat | semmle.order | 101 |
|
||||
| test.rs:56:19:56:27 | ClosureExpr | semmle.order | 102 |
|
||||
| test.rs:56:19:56:27 | enter ClosureExpr | semmle.order | 103 |
|
||||
| test.rs:56:19:56:27 | exit ClosureExpr | semmle.order | 104 |
|
||||
| test.rs:56:19:56:27 | exit ClosureExpr (normal) | semmle.order | 105 |
|
||||
| test.rs:56:23:56:23 | PathExpr | semmle.order | 106 |
|
||||
| test.rs:56:23:56:27 | BinaryExpr | semmle.order | 107 |
|
||||
| test.rs:56:27:56:27 | LiteralExpr | semmle.order | 108 |
|
||||
| test.rs:57:5:57:11 | PathExpr | semmle.order | 109 |
|
||||
| test.rs:57:5:57:23 | CallExpr | semmle.order | 110 |
|
||||
| test.rs:57:13:57:19 | PathExpr | semmle.order | 111 |
|
||||
| test.rs:57:13:57:22 | CallExpr | semmle.order | 112 |
|
||||
| test.rs:57:21:57:21 | PathExpr | semmle.order | 113 |
|
||||
| test.rs:62:5:68:5 | enter test_if_else | semmle.order | 114 |
|
||||
| test.rs:62:5:68:5 | exit test_if_else | semmle.order | 115 |
|
||||
| test.rs:62:5:68:5 | exit test_if_else (normal) | semmle.order | 116 |
|
||||
| test.rs:62:36:68:5 | BlockExpr | semmle.order | 117 |
|
||||
| test.rs:63:9:67:9 | IfExpr | semmle.order | 118 |
|
||||
| test.rs:63:12:63:12 | PathExpr | semmle.order | 119 |
|
||||
| test.rs:63:12:63:17 | BinaryExpr | semmle.order | 120 |
|
||||
| test.rs:63:17:63:17 | LiteralExpr | semmle.order | 121 |
|
||||
| test.rs:63:19:65:9 | BlockExpr | semmle.order | 122 |
|
||||
| test.rs:64:13:64:13 | LiteralExpr | semmle.order | 123 |
|
||||
| test.rs:65:16:67:9 | BlockExpr | semmle.order | 124 |
|
||||
| test.rs:66:13:66:13 | PathExpr | semmle.order | 125 |
|
||||
| test.rs:66:13:66:17 | BinaryExpr | semmle.order | 126 |
|
||||
| test.rs:66:17:66:17 | LiteralExpr | semmle.order | 127 |
|
||||
| test.rs:70:5:76:5 | enter test_if_let_else | semmle.order | 128 |
|
||||
| test.rs:70:5:76:5 | exit test_if_let_else | semmle.order | 129 |
|
||||
| test.rs:70:5:76:5 | exit test_if_let_else (normal) | semmle.order | 130 |
|
||||
| test.rs:70:48:76:5 | BlockExpr | semmle.order | 131 |
|
||||
| test.rs:71:9:75:9 | IfExpr | semmle.order | 132 |
|
||||
| test.rs:71:12:71:26 | LetExpr | semmle.order | 133 |
|
||||
| test.rs:71:16:71:22 | TupleStructPat | semmle.order | 134 |
|
||||
| test.rs:71:28:73:9 | BlockExpr | semmle.order | 135 |
|
||||
| test.rs:72:13:72:13 | PathExpr | semmle.order | 136 |
|
||||
| test.rs:73:16:75:9 | BlockExpr | semmle.order | 137 |
|
||||
| test.rs:74:13:74:13 | LiteralExpr | semmle.order | 138 |
|
||||
| test.rs:78:5:83:5 | enter test_if_let | semmle.order | 139 |
|
||||
| test.rs:78:5:83:5 | exit test_if_let | semmle.order | 140 |
|
||||
| test.rs:78:5:83:5 | exit test_if_let (normal) | semmle.order | 141 |
|
||||
| test.rs:78:43:83:5 | BlockExpr | semmle.order | 142 |
|
||||
| test.rs:79:9:81:9 | ExprStmt | semmle.order | 143 |
|
||||
| test.rs:79:9:81:9 | IfExpr | semmle.order | 144 |
|
||||
| test.rs:79:12:79:26 | LetExpr | semmle.order | 145 |
|
||||
| test.rs:79:16:79:22 | TupleStructPat | semmle.order | 146 |
|
||||
| test.rs:79:28:81:9 | BlockExpr | semmle.order | 147 |
|
||||
| test.rs:80:13:80:13 | PathExpr | semmle.order | 148 |
|
||||
| test.rs:82:9:82:9 | LiteralExpr | semmle.order | 149 |
|
||||
| test.rs:105:5:108:5 | enter test_and_operator | semmle.order | 150 |
|
||||
| test.rs:105:5:108:5 | exit test_and_operator | semmle.order | 151 |
|
||||
| test.rs:105:5:108:5 | exit test_and_operator (normal) | semmle.order | 152 |
|
||||
| test.rs:105:61:108:5 | BlockExpr | semmle.order | 153 |
|
||||
| test.rs:106:9:106:28 | LetStmt | semmle.order | 154 |
|
||||
| test.rs:106:13:106:13 | IdentPat | semmle.order | 155 |
|
||||
| test.rs:106:17:106:17 | PathExpr | semmle.order | 156 |
|
||||
| test.rs:106:17:106:22 | BinaryExpr | semmle.order | 157 |
|
||||
| test.rs:106:17:106:27 | BinaryExpr | semmle.order | 158 |
|
||||
| test.rs:106:22:106:22 | PathExpr | semmle.order | 159 |
|
||||
| test.rs:106:27:106:27 | PathExpr | semmle.order | 160 |
|
||||
| test.rs:107:9:107:9 | PathExpr | semmle.order | 161 |
|
||||
| test.rs:110:5:113:5 | enter test_or_operator | semmle.order | 162 |
|
||||
| test.rs:110:5:113:5 | exit test_or_operator | semmle.order | 163 |
|
||||
| test.rs:110:5:113:5 | exit test_or_operator (normal) | semmle.order | 164 |
|
||||
| test.rs:110:60:113:5 | BlockExpr | semmle.order | 165 |
|
||||
| test.rs:111:9:111:28 | LetStmt | semmle.order | 166 |
|
||||
| test.rs:111:13:111:13 | IdentPat | semmle.order | 167 |
|
||||
| test.rs:111:17:111:17 | PathExpr | semmle.order | 168 |
|
||||
| test.rs:111:17:111:22 | BinaryExpr | semmle.order | 169 |
|
||||
| test.rs:111:17:111:27 | BinaryExpr | semmle.order | 170 |
|
||||
| test.rs:111:22:111:22 | PathExpr | semmle.order | 171 |
|
||||
| test.rs:111:27:111:27 | PathExpr | semmle.order | 172 |
|
||||
| test.rs:112:9:112:9 | PathExpr | semmle.order | 173 |
|
||||
| test.rs:115:5:118:5 | enter test_or_operator_2 | semmle.order | 174 |
|
||||
| test.rs:115:5:118:5 | exit test_or_operator_2 | semmle.order | 175 |
|
||||
| test.rs:115:5:118:5 | exit test_or_operator_2 (normal) | semmle.order | 176 |
|
||||
| test.rs:115:61:118:5 | BlockExpr | semmle.order | 177 |
|
||||
| test.rs:116:9:116:36 | LetStmt | semmle.order | 178 |
|
||||
| test.rs:116:13:116:13 | IdentPat | semmle.order | 179 |
|
||||
| test.rs:116:17:116:17 | PathExpr | semmle.order | 180 |
|
||||
| test.rs:116:17:116:30 | BinaryExpr | semmle.order | 181 |
|
||||
| test.rs:116:17:116:35 | BinaryExpr | semmle.order | 182 |
|
||||
| test.rs:117:9:117:9 | PathExpr | semmle.order | 183 |
|
||||
| test.rs:122:1:128:1 | enter test_match | semmle.order | 184 |
|
||||
| test.rs:122:1:128:1 | exit test_match | semmle.order | 185 |
|
||||
| test.rs:122:1:128:1 | exit test_match (normal) | semmle.order | 186 |
|
||||
| test.rs:122:44:128:1 | BlockExpr | semmle.order | 187 |
|
||||
| test.rs:123:5:127:5 | MatchExpr | semmle.order | 188 |
|
||||
| test.rs:123:11:123:21 | PathExpr | semmle.order | 189 |
|
||||
| test.rs:124:9:124:23 | TupleStructPat | semmle.order | 190 |
|
||||
| test.rs:124:28:124:28 | PathExpr | semmle.order | 191 |
|
||||
| test.rs:124:28:124:33 | BinaryExpr | semmle.order | 192 |
|
||||
| test.rs:124:32:124:33 | LiteralExpr | semmle.order | 193 |
|
||||
| test.rs:125:9:125:23 | TupleStructPat | semmle.order | 194 |
|
||||
| test.rs:125:28:125:28 | PathExpr | semmle.order | 195 |
|
||||
| test.rs:126:9:126:20 | PathPat | semmle.order | 196 |
|
||||
| test.rs:126:25:126:25 | LiteralExpr | semmle.order | 197 |
|
||||
| test.rs:131:5:136:5 | enter test_infinite_loop | semmle.order | 198 |
|
||||
| test.rs:132:9:134:9 | ExprStmt | semmle.order | 199 |
|
||||
| test.rs:132:14:134:9 | BlockExpr | semmle.order | 200 |
|
||||
| test.rs:133:13:133:13 | LiteralExpr | semmle.order | 201 |
|
||||
| test.rs:138:5:143:5 | enter test_let_match | semmle.order | 202 |
|
||||
| test.rs:138:5:143:5 | exit test_let_match | semmle.order | 203 |
|
||||
| test.rs:138:5:143:5 | exit test_let_match (normal) | semmle.order | 204 |
|
||||
| test.rs:138:39:143:5 | BlockExpr | semmle.order | 205 |
|
||||
| test.rs:139:9:141:10 | LetStmt | semmle.order | 206 |
|
||||
| test.rs:139:13:139:19 | TupleStructPat | semmle.order | 207 |
|
||||
| test.rs:139:23:139:23 | PathExpr | semmle.order | 208 |
|
||||
| test.rs:139:30:141:9 | BlockExpr | semmle.order | 209 |
|
||||
| test.rs:140:13:140:27 | LiteralExpr | semmle.order | 210 |
|
||||
| test.rs:142:9:142:9 | PathExpr | semmle.order | 211 |
|
||||
edges
|
||||
| test.rs:1:1:4:1 | enter test_call | test.rs:2:5:2:41 | ExprStmt | semmle.label | |
|
||||
| test.rs:1:1:4:1 | enter test_call | test.rs:2:5:2:41 | ExprStmt | semmle.order | 1 |
|
||||
| test.rs:1:1:4:1 | exit test_call (normal) | test.rs:1:1:4:1 | exit test_call | semmle.label | |
|
||||
| test.rs:1:1:4:1 | exit test_call (normal) | test.rs:1:1:4:1 | exit test_call | semmle.order | 1 |
|
||||
| test.rs:1:24:4:1 | BlockExpr | test.rs:1:1:4:1 | exit test_call (normal) | semmle.label | |
|
||||
| test.rs:1:24:4:1 | BlockExpr | test.rs:1:1:4:1 | exit test_call (normal) | semmle.order | 1 |
|
||||
| test.rs:2:5:2:21 | PathExpr | test.rs:2:23:2:26 | LiteralExpr | semmle.label | |
|
||||
| test.rs:2:5:2:21 | PathExpr | test.rs:2:23:2:26 | LiteralExpr | semmle.order | 1 |
|
||||
| test.rs:2:5:2:40 | CallExpr | test.rs:3:5:3:24 | ExprStmt | semmle.label | |
|
||||
| test.rs:2:5:2:40 | CallExpr | test.rs:3:5:3:24 | ExprStmt | semmle.order | 1 |
|
||||
| test.rs:2:5:2:41 | ExprStmt | test.rs:2:5:2:21 | PathExpr | semmle.label | |
|
||||
| test.rs:2:5:2:41 | ExprStmt | test.rs:2:5:2:21 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:2:23:2:26 | LiteralExpr | test.rs:2:29:2:33 | LiteralExpr | semmle.label | |
|
||||
| test.rs:2:23:2:26 | LiteralExpr | test.rs:2:29:2:33 | LiteralExpr | semmle.order | 1 |
|
||||
| test.rs:2:29:2:33 | LiteralExpr | test.rs:2:36:2:39 | LiteralExpr | semmle.label | |
|
||||
| test.rs:2:29:2:33 | LiteralExpr | test.rs:2:36:2:39 | LiteralExpr | semmle.order | 1 |
|
||||
| test.rs:2:36:2:39 | LiteralExpr | test.rs:2:5:2:40 | CallExpr | semmle.label | |
|
||||
| test.rs:2:36:2:39 | LiteralExpr | test.rs:2:5:2:40 | CallExpr | semmle.order | 1 |
|
||||
| test.rs:3:5:3:19 | PathExpr | test.rs:3:21:3:22 | LiteralExpr | semmle.label | |
|
||||
| test.rs:3:5:3:19 | PathExpr | test.rs:3:21:3:22 | LiteralExpr | semmle.order | 1 |
|
||||
| test.rs:3:5:3:23 | CallExpr | test.rs:1:24:4:1 | BlockExpr | semmle.label | |
|
||||
| test.rs:3:5:3:23 | CallExpr | test.rs:1:24:4:1 | BlockExpr | semmle.order | 1 |
|
||||
| test.rs:3:5:3:24 | ExprStmt | test.rs:3:5:3:19 | PathExpr | semmle.label | |
|
||||
| test.rs:3:5:3:24 | ExprStmt | test.rs:3:5:3:19 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:3:21:3:22 | LiteralExpr | test.rs:3:5:3:23 | CallExpr | semmle.label | |
|
||||
| test.rs:3:21:3:22 | LiteralExpr | test.rs:3:5:3:23 | CallExpr | semmle.order | 1 |
|
||||
| test.rs:8:5:24:5 | enter test_break_and_continue | test.rs:9:9:9:22 | LetStmt | semmle.label | |
|
||||
| test.rs:8:5:24:5 | enter test_break_and_continue | test.rs:9:9:9:22 | LetStmt | semmle.order | 1 |
|
||||
| test.rs:8:5:24:5 | exit test_break_and_continue (normal) | test.rs:8:5:24:5 | exit test_break_and_continue | semmle.label | |
|
||||
| test.rs:8:5:24:5 | exit test_break_and_continue (normal) | test.rs:8:5:24:5 | exit test_break_and_continue | semmle.order | 1 |
|
||||
| test.rs:9:9:9:22 | LetStmt | test.rs:9:21:9:21 | PathExpr | semmle.label | |
|
||||
| test.rs:9:9:9:22 | LetStmt | test.rs:9:21:9:21 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:9:13:9:17 | IdentPat | test.rs:10:9:22:9 | ExprStmt | semmle.label | match, no-match |
|
||||
| test.rs:9:13:9:17 | IdentPat | test.rs:10:9:22:9 | ExprStmt | semmle.order | 1 |
|
||||
| test.rs:9:13:9:17 | IdentPat | test.rs:10:9:22:9 | ExprStmt | semmle.order | 2 |
|
||||
| test.rs:9:21:9:21 | PathExpr | test.rs:9:13:9:17 | IdentPat | semmle.label | |
|
||||
| test.rs:9:21:9:21 | PathExpr | test.rs:9:13:9:17 | IdentPat | semmle.order | 1 |
|
||||
| test.rs:10:9:22:9 | ExprStmt | test.rs:11:13:11:24 | ExprStmt | semmle.label | |
|
||||
| test.rs:10:9:22:9 | ExprStmt | test.rs:11:13:11:24 | ExprStmt | semmle.order | 1 |
|
||||
| test.rs:10:9:22:9 | LoopExpr | test.rs:23:9:23:20 | ExprStmt | semmle.label | |
|
||||
| test.rs:10:9:22:9 | LoopExpr | test.rs:23:9:23:20 | ExprStmt | semmle.order | 1 |
|
||||
| test.rs:10:14:22:9 | BlockExpr | test.rs:11:13:11:24 | ExprStmt | semmle.label | |
|
||||
| test.rs:10:14:22:9 | BlockExpr | test.rs:11:13:11:24 | ExprStmt | semmle.order | 1 |
|
||||
| test.rs:11:13:11:13 | PathExpr | test.rs:11:17:11:20 | PathExpr | semmle.label | |
|
||||
| test.rs:11:13:11:13 | PathExpr | test.rs:11:17:11:20 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:11:13:11:23 | BinaryExpr | test.rs:12:13:14:13 | ExprStmt | semmle.label | |
|
||||
| test.rs:11:13:11:23 | BinaryExpr | test.rs:12:13:14:13 | ExprStmt | semmle.order | 1 |
|
||||
| test.rs:11:13:11:24 | ExprStmt | test.rs:11:13:11:13 | PathExpr | semmle.label | |
|
||||
| test.rs:11:13:11:24 | ExprStmt | test.rs:11:13:11:13 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:11:17:11:20 | PathExpr | test.rs:11:22:11:22 | PathExpr | semmle.label | |
|
||||
| test.rs:11:17:11:20 | PathExpr | test.rs:11:22:11:22 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:11:17:11:23 | CallExpr | test.rs:11:13:11:23 | BinaryExpr | semmle.label | |
|
||||
| test.rs:11:17:11:23 | CallExpr | test.rs:11:13:11:23 | BinaryExpr | semmle.order | 1 |
|
||||
| test.rs:11:22:11:22 | PathExpr | test.rs:11:17:11:23 | CallExpr | semmle.label | |
|
||||
| test.rs:11:22:11:22 | PathExpr | test.rs:11:17:11:23 | CallExpr | semmle.order | 1 |
|
||||
| test.rs:12:13:14:13 | ExprStmt | test.rs:12:16:12:16 | PathExpr | semmle.label | |
|
||||
| test.rs:12:13:14:13 | ExprStmt | test.rs:12:16:12:16 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:12:13:14:13 | IfExpr | test.rs:15:13:17:13 | ExprStmt | semmle.label | |
|
||||
| test.rs:12:13:14:13 | IfExpr | test.rs:15:13:17:13 | ExprStmt | semmle.order | 1 |
|
||||
| test.rs:12:16:12:16 | PathExpr | test.rs:12:20:12:24 | LiteralExpr | semmle.label | |
|
||||
| test.rs:12:16:12:16 | PathExpr | test.rs:12:20:12:24 | LiteralExpr | semmle.order | 1 |
|
||||
| test.rs:12:16:12:24 | BinaryExpr | test.rs:12:13:14:13 | IfExpr | semmle.label | false |
|
||||
| test.rs:12:16:12:24 | BinaryExpr | test.rs:12:13:14:13 | IfExpr | semmle.order | 1 |
|
||||
| test.rs:12:16:12:24 | BinaryExpr | test.rs:13:17:13:29 | ExprStmt | semmle.label | true |
|
||||
| test.rs:12:16:12:24 | BinaryExpr | test.rs:13:17:13:29 | ExprStmt | semmle.order | 2 |
|
||||
| test.rs:12:20:12:24 | LiteralExpr | test.rs:12:16:12:24 | BinaryExpr | semmle.label | |
|
||||
| test.rs:12:20:12:24 | LiteralExpr | test.rs:12:16:12:24 | BinaryExpr | semmle.order | 1 |
|
||||
| test.rs:13:17:13:28 | ReturnExpr | test.rs:8:5:24:5 | exit test_break_and_continue (normal) | semmle.label | return |
|
||||
| test.rs:13:17:13:28 | ReturnExpr | test.rs:8:5:24:5 | exit test_break_and_continue (normal) | semmle.order | 1 |
|
||||
| test.rs:13:17:13:29 | ExprStmt | test.rs:13:24:13:28 | LiteralExpr | semmle.label | |
|
||||
| test.rs:13:17:13:29 | ExprStmt | test.rs:13:24:13:28 | LiteralExpr | semmle.order | 1 |
|
||||
| test.rs:13:24:13:28 | LiteralExpr | test.rs:13:17:13:28 | ReturnExpr | semmle.label | |
|
||||
| test.rs:13:24:13:28 | LiteralExpr | test.rs:13:17:13:28 | ReturnExpr | semmle.order | 1 |
|
||||
| test.rs:15:13:17:13 | ExprStmt | test.rs:15:16:15:16 | PathExpr | semmle.label | |
|
||||
| test.rs:15:13:17:13 | ExprStmt | test.rs:15:16:15:16 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:15:13:17:13 | IfExpr | test.rs:18:13:20:13 | ExprStmt | semmle.label | |
|
||||
| test.rs:15:13:17:13 | IfExpr | test.rs:18:13:20:13 | ExprStmt | semmle.order | 1 |
|
||||
| test.rs:15:16:15:16 | PathExpr | test.rs:15:21:15:21 | LiteralExpr | semmle.label | |
|
||||
| test.rs:15:16:15:16 | PathExpr | test.rs:15:21:15:21 | LiteralExpr | semmle.order | 1 |
|
||||
| test.rs:15:16:15:21 | BinaryExpr | test.rs:15:13:17:13 | IfExpr | semmle.label | false |
|
||||
| test.rs:15:16:15:21 | BinaryExpr | test.rs:15:13:17:13 | IfExpr | semmle.order | 1 |
|
||||
| test.rs:15:16:15:21 | BinaryExpr | test.rs:16:17:16:22 | ExprStmt | semmle.label | true |
|
||||
| test.rs:15:16:15:21 | BinaryExpr | test.rs:16:17:16:22 | ExprStmt | semmle.order | 2 |
|
||||
| test.rs:15:21:15:21 | LiteralExpr | test.rs:15:16:15:21 | BinaryExpr | semmle.label | |
|
||||
| test.rs:15:21:15:21 | LiteralExpr | test.rs:15:16:15:21 | BinaryExpr | semmle.order | 1 |
|
||||
| test.rs:16:17:16:21 | BreakExpr | test.rs:10:9:22:9 | LoopExpr | semmle.label | break |
|
||||
| test.rs:16:17:16:21 | BreakExpr | test.rs:10:9:22:9 | LoopExpr | semmle.order | 1 |
|
||||
| test.rs:16:17:16:22 | ExprStmt | test.rs:16:17:16:21 | BreakExpr | semmle.label | |
|
||||
| test.rs:16:17:16:22 | ExprStmt | test.rs:16:17:16:21 | BreakExpr | semmle.order | 1 |
|
||||
| test.rs:18:13:20:13 | ExprStmt | test.rs:18:16:18:16 | PathExpr | semmle.label | |
|
||||
| test.rs:18:13:20:13 | ExprStmt | test.rs:18:16:18:16 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:18:13:20:13 | IfExpr | test.rs:21:13:21:13 | PathExpr | semmle.label | |
|
||||
| test.rs:18:13:20:13 | IfExpr | test.rs:21:13:21:13 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:18:16:18:16 | PathExpr | test.rs:18:20:18:20 | LiteralExpr | semmle.label | |
|
||||
| test.rs:18:16:18:16 | PathExpr | test.rs:18:20:18:20 | LiteralExpr | semmle.order | 1 |
|
||||
| test.rs:18:16:18:20 | BinaryExpr | test.rs:18:25:18:25 | LiteralExpr | semmle.label | |
|
||||
| test.rs:18:16:18:20 | BinaryExpr | test.rs:18:25:18:25 | LiteralExpr | semmle.order | 1 |
|
||||
| test.rs:18:16:18:25 | BinaryExpr | test.rs:18:13:20:13 | IfExpr | semmle.label | false |
|
||||
| test.rs:18:16:18:25 | BinaryExpr | test.rs:18:13:20:13 | IfExpr | semmle.order | 1 |
|
||||
| test.rs:18:16:18:25 | BinaryExpr | test.rs:19:17:19:25 | ExprStmt | semmle.label | true |
|
||||
| test.rs:18:16:18:25 | BinaryExpr | test.rs:19:17:19:25 | ExprStmt | semmle.order | 2 |
|
||||
| test.rs:18:20:18:20 | LiteralExpr | test.rs:18:16:18:20 | BinaryExpr | semmle.label | |
|
||||
| test.rs:18:20:18:20 | LiteralExpr | test.rs:18:16:18:20 | BinaryExpr | semmle.order | 1 |
|
||||
| test.rs:18:25:18:25 | LiteralExpr | test.rs:18:16:18:25 | BinaryExpr | semmle.label | |
|
||||
| test.rs:18:25:18:25 | LiteralExpr | test.rs:18:16:18:25 | BinaryExpr | semmle.order | 1 |
|
||||
| test.rs:19:17:19:24 | ContinueExpr | test.rs:11:13:11:24 | ExprStmt | semmle.label | continue |
|
||||
| test.rs:19:17:19:24 | ContinueExpr | test.rs:11:13:11:24 | ExprStmt | semmle.order | 1 |
|
||||
| test.rs:19:17:19:25 | ExprStmt | test.rs:19:17:19:24 | ContinueExpr | semmle.label | |
|
||||
| test.rs:19:17:19:25 | ExprStmt | test.rs:19:17:19:24 | ContinueExpr | semmle.order | 1 |
|
||||
| test.rs:21:13:21:13 | PathExpr | test.rs:21:17:21:17 | PathExpr | semmle.label | |
|
||||
| test.rs:21:13:21:13 | PathExpr | test.rs:21:17:21:17 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:21:13:21:21 | BinaryExpr | test.rs:10:14:22:9 | BlockExpr | semmle.label | |
|
||||
| test.rs:21:13:21:21 | BinaryExpr | test.rs:10:14:22:9 | BlockExpr | semmle.order | 1 |
|
||||
| test.rs:21:17:21:17 | PathExpr | test.rs:21:21:21:21 | LiteralExpr | semmle.label | |
|
||||
| test.rs:21:17:21:17 | PathExpr | test.rs:21:21:21:21 | LiteralExpr | semmle.order | 1 |
|
||||
| test.rs:21:17:21:21 | BinaryExpr | test.rs:21:13:21:21 | BinaryExpr | semmle.label | |
|
||||
| test.rs:21:17:21:21 | BinaryExpr | test.rs:21:13:21:21 | BinaryExpr | semmle.order | 1 |
|
||||
| test.rs:21:21:21:21 | LiteralExpr | test.rs:21:17:21:21 | BinaryExpr | semmle.label | |
|
||||
| test.rs:21:21:21:21 | LiteralExpr | test.rs:21:17:21:21 | BinaryExpr | semmle.order | 1 |
|
||||
| test.rs:23:9:23:19 | ReturnExpr | test.rs:8:5:24:5 | exit test_break_and_continue (normal) | semmle.label | return |
|
||||
| test.rs:23:9:23:19 | ReturnExpr | test.rs:8:5:24:5 | exit test_break_and_continue (normal) | semmle.order | 1 |
|
||||
| test.rs:23:9:23:20 | ExprStmt | test.rs:23:16:23:19 | LiteralExpr | semmle.label | |
|
||||
| test.rs:23:9:23:20 | ExprStmt | test.rs:23:16:23:19 | LiteralExpr | semmle.order | 1 |
|
||||
| test.rs:23:16:23:19 | LiteralExpr | test.rs:23:9:23:19 | ReturnExpr | semmle.label | |
|
||||
| test.rs:23:16:23:19 | LiteralExpr | test.rs:23:9:23:19 | ReturnExpr | semmle.order | 1 |
|
||||
| test.rs:26:5:38:5 | enter test_break_with_labels | test.rs:27:9:36:9 | ExprStmt | semmle.label | |
|
||||
| test.rs:26:5:38:5 | enter test_break_with_labels | test.rs:27:9:36:9 | ExprStmt | semmle.order | 1 |
|
||||
| test.rs:26:5:38:5 | exit test_break_with_labels (normal) | test.rs:26:5:38:5 | exit test_break_with_labels | semmle.label | |
|
||||
| test.rs:26:5:38:5 | exit test_break_with_labels (normal) | test.rs:26:5:38:5 | exit test_break_with_labels | semmle.order | 1 |
|
||||
| test.rs:26:41:38:5 | BlockExpr | test.rs:26:5:38:5 | exit test_break_with_labels (normal) | semmle.label | |
|
||||
| test.rs:26:41:38:5 | BlockExpr | test.rs:26:5:38:5 | exit test_break_with_labels (normal) | semmle.order | 1 |
|
||||
| test.rs:27:9:36:9 | ExprStmt | test.rs:29:17:33:17 | ExprStmt | semmle.label | |
|
||||
| test.rs:27:9:36:9 | ExprStmt | test.rs:29:17:33:17 | ExprStmt | semmle.order | 1 |
|
||||
| test.rs:27:9:36:9 | LoopExpr | test.rs:37:9:37:12 | LiteralExpr | semmle.label | |
|
||||
| test.rs:27:9:36:9 | LoopExpr | test.rs:37:9:37:12 | LiteralExpr | semmle.order | 1 |
|
||||
| test.rs:27:22:36:9 | BlockExpr | test.rs:29:17:33:17 | ExprStmt | semmle.label | |
|
||||
| test.rs:27:22:36:9 | BlockExpr | test.rs:29:17:33:17 | ExprStmt | semmle.order | 1 |
|
||||
| test.rs:28:13:35:13 | LoopExpr | test.rs:27:22:36:9 | BlockExpr | semmle.label | |
|
||||
| test.rs:28:13:35:13 | LoopExpr | test.rs:27:22:36:9 | BlockExpr | semmle.order | 1 |
|
||||
| test.rs:29:17:33:17 | ExprStmt | test.rs:29:20:29:24 | LiteralExpr | semmle.label | |
|
||||
| test.rs:29:17:33:17 | ExprStmt | test.rs:29:20:29:24 | LiteralExpr | semmle.order | 1 |
|
||||
| test.rs:29:17:33:17 | IfExpr | test.rs:34:17:34:29 | ExprStmt | semmle.label | |
|
||||
| test.rs:29:17:33:17 | IfExpr | test.rs:34:17:34:29 | ExprStmt | semmle.order | 1 |
|
||||
| test.rs:29:20:29:24 | LiteralExpr | test.rs:30:21:30:26 | ExprStmt | semmle.label | true |
|
||||
| test.rs:29:20:29:24 | LiteralExpr | test.rs:30:21:30:26 | ExprStmt | semmle.order | 1 |
|
||||
| test.rs:29:20:29:24 | LiteralExpr | test.rs:31:27:31:30 | LiteralExpr | semmle.label | false |
|
||||
| test.rs:29:20:29:24 | LiteralExpr | test.rs:31:27:31:30 | LiteralExpr | semmle.order | 2 |
|
||||
| test.rs:30:21:30:25 | BreakExpr | test.rs:28:13:35:13 | LoopExpr | semmle.label | break |
|
||||
| test.rs:30:21:30:25 | BreakExpr | test.rs:28:13:35:13 | LoopExpr | semmle.order | 1 |
|
||||
| test.rs:30:21:30:26 | ExprStmt | test.rs:30:21:30:25 | BreakExpr | semmle.label | |
|
||||
| test.rs:30:21:30:26 | ExprStmt | test.rs:30:21:30:25 | BreakExpr | semmle.order | 1 |
|
||||
| test.rs:31:24:33:17 | IfExpr | test.rs:29:17:33:17 | IfExpr | semmle.label | |
|
||||
| test.rs:31:24:33:17 | IfExpr | test.rs:29:17:33:17 | IfExpr | semmle.order | 1 |
|
||||
| test.rs:31:27:31:30 | LiteralExpr | test.rs:31:24:33:17 | IfExpr | semmle.label | false |
|
||||
| test.rs:31:27:31:30 | LiteralExpr | test.rs:31:24:33:17 | IfExpr | semmle.order | 1 |
|
||||
| test.rs:31:27:31:30 | LiteralExpr | test.rs:32:21:32:33 | ExprStmt | semmle.label | true |
|
||||
| test.rs:31:27:31:30 | LiteralExpr | test.rs:32:21:32:33 | ExprStmt | semmle.order | 2 |
|
||||
| test.rs:32:21:32:32 | BreakExpr | test.rs:27:9:36:9 | LoopExpr | semmle.label | break('outer) |
|
||||
| test.rs:32:21:32:32 | BreakExpr | test.rs:27:9:36:9 | LoopExpr | semmle.order | 1 |
|
||||
| test.rs:32:21:32:33 | ExprStmt | test.rs:32:21:32:32 | BreakExpr | semmle.label | |
|
||||
| test.rs:32:21:32:33 | ExprStmt | test.rs:32:21:32:32 | BreakExpr | semmle.order | 1 |
|
||||
| test.rs:34:17:34:28 | BreakExpr | test.rs:28:13:35:13 | LoopExpr | semmle.label | break('inner) |
|
||||
| test.rs:34:17:34:28 | BreakExpr | test.rs:28:13:35:13 | LoopExpr | semmle.order | 1 |
|
||||
| test.rs:34:17:34:29 | ExprStmt | test.rs:34:17:34:28 | BreakExpr | semmle.label | |
|
||||
| test.rs:34:17:34:29 | ExprStmt | test.rs:34:17:34:28 | BreakExpr | semmle.order | 1 |
|
||||
| test.rs:37:9:37:12 | LiteralExpr | test.rs:26:41:38:5 | BlockExpr | semmle.label | |
|
||||
| test.rs:37:9:37:12 | LiteralExpr | test.rs:26:41:38:5 | BlockExpr | semmle.order | 1 |
|
||||
| test.rs:40:5:52:5 | enter test_continue_with_labels | test.rs:42:13:42:14 | ExprStmt | semmle.label | |
|
||||
| test.rs:40:5:52:5 | enter test_continue_with_labels | test.rs:42:13:42:14 | ExprStmt | semmle.order | 1 |
|
||||
| test.rs:42:13:42:13 | LiteralExpr | test.rs:44:17:48:17 | ExprStmt | semmle.label | |
|
||||
| test.rs:42:13:42:13 | LiteralExpr | test.rs:44:17:48:17 | ExprStmt | semmle.order | 1 |
|
||||
| test.rs:42:13:42:14 | ExprStmt | test.rs:42:13:42:13 | LiteralExpr | semmle.label | |
|
||||
| test.rs:42:13:42:14 | ExprStmt | test.rs:42:13:42:13 | LiteralExpr | semmle.order | 1 |
|
||||
| test.rs:44:17:48:17 | ExprStmt | test.rs:44:20:44:24 | LiteralExpr | semmle.label | |
|
||||
| test.rs:44:17:48:17 | ExprStmt | test.rs:44:20:44:24 | LiteralExpr | semmle.order | 1 |
|
||||
| test.rs:44:17:48:17 | IfExpr | test.rs:49:17:49:32 | ExprStmt | semmle.label | |
|
||||
| test.rs:44:17:48:17 | IfExpr | test.rs:49:17:49:32 | ExprStmt | semmle.order | 1 |
|
||||
| test.rs:44:20:44:24 | LiteralExpr | test.rs:45:21:45:29 | ExprStmt | semmle.label | true |
|
||||
| test.rs:44:20:44:24 | LiteralExpr | test.rs:45:21:45:29 | ExprStmt | semmle.order | 1 |
|
||||
| test.rs:44:20:44:24 | LiteralExpr | test.rs:46:27:46:30 | LiteralExpr | semmle.label | false |
|
||||
| test.rs:44:20:44:24 | LiteralExpr | test.rs:46:27:46:30 | LiteralExpr | semmle.order | 2 |
|
||||
| test.rs:45:21:45:28 | ContinueExpr | test.rs:44:17:48:17 | ExprStmt | semmle.label | continue |
|
||||
| test.rs:45:21:45:28 | ContinueExpr | test.rs:44:17:48:17 | ExprStmt | semmle.order | 1 |
|
||||
| test.rs:45:21:45:29 | ExprStmt | test.rs:45:21:45:28 | ContinueExpr | semmle.label | |
|
||||
| test.rs:45:21:45:29 | ExprStmt | test.rs:45:21:45:28 | ContinueExpr | semmle.order | 1 |
|
||||
| test.rs:46:24:48:17 | IfExpr | test.rs:44:17:48:17 | IfExpr | semmle.label | |
|
||||
| test.rs:46:24:48:17 | IfExpr | test.rs:44:17:48:17 | IfExpr | semmle.order | 1 |
|
||||
| test.rs:46:27:46:30 | LiteralExpr | test.rs:46:24:48:17 | IfExpr | semmle.label | false |
|
||||
| test.rs:46:27:46:30 | LiteralExpr | test.rs:46:24:48:17 | IfExpr | semmle.order | 1 |
|
||||
| test.rs:46:27:46:30 | LiteralExpr | test.rs:47:21:47:36 | ExprStmt | semmle.label | true |
|
||||
| test.rs:46:27:46:30 | LiteralExpr | test.rs:47:21:47:36 | ExprStmt | semmle.order | 2 |
|
||||
| test.rs:47:21:47:35 | ContinueExpr | test.rs:42:13:42:14 | ExprStmt | semmle.label | continue('outer) |
|
||||
| test.rs:47:21:47:35 | ContinueExpr | test.rs:42:13:42:14 | ExprStmt | semmle.order | 1 |
|
||||
| test.rs:47:21:47:36 | ExprStmt | test.rs:47:21:47:35 | ContinueExpr | semmle.label | |
|
||||
| test.rs:47:21:47:36 | ExprStmt | test.rs:47:21:47:35 | ContinueExpr | semmle.order | 1 |
|
||||
| test.rs:49:17:49:31 | ContinueExpr | test.rs:44:17:48:17 | ExprStmt | semmle.label | continue('inner) |
|
||||
| test.rs:49:17:49:31 | ContinueExpr | test.rs:44:17:48:17 | ExprStmt | semmle.order | 1 |
|
||||
| test.rs:49:17:49:32 | ExprStmt | test.rs:49:17:49:31 | ContinueExpr | semmle.label | |
|
||||
| test.rs:49:17:49:32 | ExprStmt | test.rs:49:17:49:31 | ContinueExpr | semmle.order | 1 |
|
||||
| test.rs:55:1:58:1 | enter test_nested_function | test.rs:56:5:56:28 | LetStmt | semmle.label | |
|
||||
| test.rs:55:1:58:1 | enter test_nested_function | test.rs:56:5:56:28 | LetStmt | semmle.order | 1 |
|
||||
| test.rs:55:1:58:1 | exit test_nested_function (normal) | test.rs:55:1:58:1 | exit test_nested_function | semmle.label | |
|
||||
| test.rs:55:1:58:1 | exit test_nested_function (normal) | test.rs:55:1:58:1 | exit test_nested_function | semmle.order | 1 |
|
||||
| test.rs:55:40:58:1 | BlockExpr | test.rs:55:1:58:1 | exit test_nested_function (normal) | semmle.label | |
|
||||
| test.rs:55:40:58:1 | BlockExpr | test.rs:55:1:58:1 | exit test_nested_function (normal) | semmle.order | 1 |
|
||||
| test.rs:56:5:56:28 | LetStmt | test.rs:56:19:56:27 | ClosureExpr | semmle.label | |
|
||||
| test.rs:56:5:56:28 | LetStmt | test.rs:56:19:56:27 | ClosureExpr | semmle.order | 1 |
|
||||
| test.rs:56:9:56:15 | IdentPat | test.rs:57:5:57:11 | PathExpr | semmle.label | match, no-match |
|
||||
| test.rs:56:9:56:15 | IdentPat | test.rs:57:5:57:11 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:56:9:56:15 | IdentPat | test.rs:57:5:57:11 | PathExpr | semmle.order | 2 |
|
||||
| test.rs:56:19:56:27 | ClosureExpr | test.rs:56:9:56:15 | IdentPat | semmle.label | |
|
||||
| test.rs:56:19:56:27 | ClosureExpr | test.rs:56:9:56:15 | IdentPat | semmle.order | 1 |
|
||||
| test.rs:56:19:56:27 | enter ClosureExpr | test.rs:56:23:56:23 | PathExpr | semmle.label | |
|
||||
| test.rs:56:19:56:27 | enter ClosureExpr | test.rs:56:23:56:23 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:56:19:56:27 | exit ClosureExpr (normal) | test.rs:56:19:56:27 | exit ClosureExpr | semmle.label | |
|
||||
| test.rs:56:19:56:27 | exit ClosureExpr (normal) | test.rs:56:19:56:27 | exit ClosureExpr | semmle.order | 1 |
|
||||
| test.rs:56:23:56:23 | PathExpr | test.rs:56:27:56:27 | LiteralExpr | semmle.label | |
|
||||
| test.rs:56:23:56:23 | PathExpr | test.rs:56:27:56:27 | LiteralExpr | semmle.order | 1 |
|
||||
| test.rs:56:23:56:27 | BinaryExpr | test.rs:56:19:56:27 | exit ClosureExpr (normal) | semmle.label | |
|
||||
| test.rs:56:23:56:27 | BinaryExpr | test.rs:56:19:56:27 | exit ClosureExpr (normal) | semmle.order | 1 |
|
||||
| test.rs:56:27:56:27 | LiteralExpr | test.rs:56:23:56:27 | BinaryExpr | semmle.label | |
|
||||
| test.rs:56:27:56:27 | LiteralExpr | test.rs:56:23:56:27 | BinaryExpr | semmle.order | 1 |
|
||||
| test.rs:57:5:57:11 | PathExpr | test.rs:57:13:57:19 | PathExpr | semmle.label | |
|
||||
| test.rs:57:5:57:11 | PathExpr | test.rs:57:13:57:19 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:57:5:57:23 | CallExpr | test.rs:55:40:58:1 | BlockExpr | semmle.label | |
|
||||
| test.rs:57:5:57:23 | CallExpr | test.rs:55:40:58:1 | BlockExpr | semmle.order | 1 |
|
||||
| test.rs:57:13:57:19 | PathExpr | test.rs:57:21:57:21 | PathExpr | semmle.label | |
|
||||
| test.rs:57:13:57:19 | PathExpr | test.rs:57:21:57:21 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:57:13:57:22 | CallExpr | test.rs:57:5:57:23 | CallExpr | semmle.label | |
|
||||
| test.rs:57:13:57:22 | CallExpr | test.rs:57:5:57:23 | CallExpr | semmle.order | 1 |
|
||||
| test.rs:57:21:57:21 | PathExpr | test.rs:57:13:57:22 | CallExpr | semmle.label | |
|
||||
| test.rs:57:21:57:21 | PathExpr | test.rs:57:13:57:22 | CallExpr | semmle.order | 1 |
|
||||
| test.rs:62:5:68:5 | enter test_if_else | test.rs:63:12:63:12 | PathExpr | semmle.label | |
|
||||
| test.rs:62:5:68:5 | enter test_if_else | test.rs:63:12:63:12 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:62:5:68:5 | exit test_if_else (normal) | test.rs:62:5:68:5 | exit test_if_else | semmle.label | |
|
||||
| test.rs:62:5:68:5 | exit test_if_else (normal) | test.rs:62:5:68:5 | exit test_if_else | semmle.order | 1 |
|
||||
| test.rs:62:36:68:5 | BlockExpr | test.rs:62:5:68:5 | exit test_if_else (normal) | semmle.label | |
|
||||
| test.rs:62:36:68:5 | BlockExpr | test.rs:62:5:68:5 | exit test_if_else (normal) | semmle.order | 1 |
|
||||
| test.rs:63:9:67:9 | IfExpr | test.rs:62:36:68:5 | BlockExpr | semmle.label | |
|
||||
| test.rs:63:9:67:9 | IfExpr | test.rs:62:36:68:5 | BlockExpr | semmle.order | 1 |
|
||||
| test.rs:63:12:63:12 | PathExpr | test.rs:63:17:63:17 | LiteralExpr | semmle.label | |
|
||||
| test.rs:63:12:63:12 | PathExpr | test.rs:63:17:63:17 | LiteralExpr | semmle.order | 1 |
|
||||
| test.rs:63:12:63:17 | BinaryExpr | test.rs:64:13:64:13 | LiteralExpr | semmle.label | true |
|
||||
| test.rs:63:12:63:17 | BinaryExpr | test.rs:64:13:64:13 | LiteralExpr | semmle.order | 1 |
|
||||
| test.rs:63:12:63:17 | BinaryExpr | test.rs:66:13:66:13 | PathExpr | semmle.label | false |
|
||||
| test.rs:63:12:63:17 | BinaryExpr | test.rs:66:13:66:13 | PathExpr | semmle.order | 2 |
|
||||
| test.rs:63:17:63:17 | LiteralExpr | test.rs:63:12:63:17 | BinaryExpr | semmle.label | |
|
||||
| test.rs:63:17:63:17 | LiteralExpr | test.rs:63:12:63:17 | BinaryExpr | semmle.order | 1 |
|
||||
| test.rs:63:19:65:9 | BlockExpr | test.rs:63:9:67:9 | IfExpr | semmle.label | |
|
||||
| test.rs:63:19:65:9 | BlockExpr | test.rs:63:9:67:9 | IfExpr | semmle.order | 1 |
|
||||
| test.rs:64:13:64:13 | LiteralExpr | test.rs:63:19:65:9 | BlockExpr | semmle.label | |
|
||||
| test.rs:64:13:64:13 | LiteralExpr | test.rs:63:19:65:9 | BlockExpr | semmle.order | 1 |
|
||||
| test.rs:65:16:67:9 | BlockExpr | test.rs:63:9:67:9 | IfExpr | semmle.label | |
|
||||
| test.rs:65:16:67:9 | BlockExpr | test.rs:63:9:67:9 | IfExpr | semmle.order | 1 |
|
||||
| test.rs:66:13:66:13 | PathExpr | test.rs:66:17:66:17 | LiteralExpr | semmle.label | |
|
||||
| test.rs:66:13:66:13 | PathExpr | test.rs:66:17:66:17 | LiteralExpr | semmle.order | 1 |
|
||||
| test.rs:66:13:66:17 | BinaryExpr | test.rs:65:16:67:9 | BlockExpr | semmle.label | |
|
||||
| test.rs:66:13:66:17 | BinaryExpr | test.rs:65:16:67:9 | BlockExpr | semmle.order | 1 |
|
||||
| test.rs:66:17:66:17 | LiteralExpr | test.rs:66:13:66:17 | BinaryExpr | semmle.label | |
|
||||
| test.rs:66:17:66:17 | LiteralExpr | test.rs:66:13:66:17 | BinaryExpr | semmle.order | 1 |
|
||||
| test.rs:70:5:76:5 | enter test_if_let_else | test.rs:71:12:71:26 | LetExpr | semmle.label | |
|
||||
| test.rs:70:5:76:5 | enter test_if_let_else | test.rs:71:12:71:26 | LetExpr | semmle.order | 1 |
|
||||
| test.rs:70:5:76:5 | exit test_if_let_else (normal) | test.rs:70:5:76:5 | exit test_if_let_else | semmle.label | |
|
||||
| test.rs:70:5:76:5 | exit test_if_let_else (normal) | test.rs:70:5:76:5 | exit test_if_let_else | semmle.order | 1 |
|
||||
| test.rs:70:48:76:5 | BlockExpr | test.rs:70:5:76:5 | exit test_if_let_else (normal) | semmle.label | |
|
||||
| test.rs:70:48:76:5 | BlockExpr | test.rs:70:5:76:5 | exit test_if_let_else (normal) | semmle.order | 1 |
|
||||
| test.rs:71:9:75:9 | IfExpr | test.rs:70:48:76:5 | BlockExpr | semmle.label | |
|
||||
| test.rs:71:9:75:9 | IfExpr | test.rs:70:48:76:5 | BlockExpr | semmle.order | 1 |
|
||||
| test.rs:71:12:71:26 | LetExpr | test.rs:71:16:71:22 | TupleStructPat | semmle.label | |
|
||||
| test.rs:71:12:71:26 | LetExpr | test.rs:71:16:71:22 | TupleStructPat | semmle.order | 1 |
|
||||
| test.rs:71:16:71:22 | TupleStructPat | test.rs:72:13:72:13 | PathExpr | semmle.label | match |
|
||||
| test.rs:71:16:71:22 | TupleStructPat | test.rs:72:13:72:13 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:71:16:71:22 | TupleStructPat | test.rs:74:13:74:13 | LiteralExpr | semmle.label | no-match |
|
||||
| test.rs:71:16:71:22 | TupleStructPat | test.rs:74:13:74:13 | LiteralExpr | semmle.order | 2 |
|
||||
| test.rs:71:28:73:9 | BlockExpr | test.rs:71:9:75:9 | IfExpr | semmle.label | |
|
||||
| test.rs:71:28:73:9 | BlockExpr | test.rs:71:9:75:9 | IfExpr | semmle.order | 1 |
|
||||
| test.rs:72:13:72:13 | PathExpr | test.rs:71:28:73:9 | BlockExpr | semmle.label | |
|
||||
| test.rs:72:13:72:13 | PathExpr | test.rs:71:28:73:9 | BlockExpr | semmle.order | 1 |
|
||||
| test.rs:73:16:75:9 | BlockExpr | test.rs:71:9:75:9 | IfExpr | semmle.label | |
|
||||
| test.rs:73:16:75:9 | BlockExpr | test.rs:71:9:75:9 | IfExpr | semmle.order | 1 |
|
||||
| test.rs:74:13:74:13 | LiteralExpr | test.rs:73:16:75:9 | BlockExpr | semmle.label | |
|
||||
| test.rs:74:13:74:13 | LiteralExpr | test.rs:73:16:75:9 | BlockExpr | semmle.order | 1 |
|
||||
| test.rs:78:5:83:5 | enter test_if_let | test.rs:79:9:81:9 | ExprStmt | semmle.label | |
|
||||
| test.rs:78:5:83:5 | enter test_if_let | test.rs:79:9:81:9 | ExprStmt | semmle.order | 1 |
|
||||
| test.rs:78:5:83:5 | exit test_if_let (normal) | test.rs:78:5:83:5 | exit test_if_let | semmle.label | |
|
||||
| test.rs:78:5:83:5 | exit test_if_let (normal) | test.rs:78:5:83:5 | exit test_if_let | semmle.order | 1 |
|
||||
| test.rs:78:43:83:5 | BlockExpr | test.rs:78:5:83:5 | exit test_if_let (normal) | semmle.label | |
|
||||
| test.rs:78:43:83:5 | BlockExpr | test.rs:78:5:83:5 | exit test_if_let (normal) | semmle.order | 1 |
|
||||
| test.rs:79:9:81:9 | ExprStmt | test.rs:79:12:79:26 | LetExpr | semmle.label | |
|
||||
| test.rs:79:9:81:9 | ExprStmt | test.rs:79:12:79:26 | LetExpr | semmle.order | 1 |
|
||||
| test.rs:79:9:81:9 | IfExpr | test.rs:82:9:82:9 | LiteralExpr | semmle.label | |
|
||||
| test.rs:79:9:81:9 | IfExpr | test.rs:82:9:82:9 | LiteralExpr | semmle.order | 1 |
|
||||
| test.rs:79:12:79:26 | LetExpr | test.rs:79:16:79:22 | TupleStructPat | semmle.label | |
|
||||
| test.rs:79:12:79:26 | LetExpr | test.rs:79:16:79:22 | TupleStructPat | semmle.order | 1 |
|
||||
| test.rs:79:16:79:22 | TupleStructPat | test.rs:79:9:81:9 | IfExpr | semmle.label | no-match |
|
||||
| test.rs:79:16:79:22 | TupleStructPat | test.rs:79:9:81:9 | IfExpr | semmle.order | 1 |
|
||||
| test.rs:79:16:79:22 | TupleStructPat | test.rs:80:13:80:13 | PathExpr | semmle.label | match |
|
||||
| test.rs:79:16:79:22 | TupleStructPat | test.rs:80:13:80:13 | PathExpr | semmle.order | 2 |
|
||||
| test.rs:79:28:81:9 | BlockExpr | test.rs:79:9:81:9 | IfExpr | semmle.label | |
|
||||
| test.rs:79:28:81:9 | BlockExpr | test.rs:79:9:81:9 | IfExpr | semmle.order | 1 |
|
||||
| test.rs:80:13:80:13 | PathExpr | test.rs:79:28:81:9 | BlockExpr | semmle.label | |
|
||||
| test.rs:80:13:80:13 | PathExpr | test.rs:79:28:81:9 | BlockExpr | semmle.order | 1 |
|
||||
| test.rs:82:9:82:9 | LiteralExpr | test.rs:78:43:83:5 | BlockExpr | semmle.label | |
|
||||
| test.rs:82:9:82:9 | LiteralExpr | test.rs:78:43:83:5 | BlockExpr | semmle.order | 1 |
|
||||
| test.rs:105:5:108:5 | enter test_and_operator | test.rs:106:9:106:28 | LetStmt | semmle.label | |
|
||||
| test.rs:105:5:108:5 | enter test_and_operator | test.rs:106:9:106:28 | LetStmt | semmle.order | 1 |
|
||||
| test.rs:105:5:108:5 | exit test_and_operator (normal) | test.rs:105:5:108:5 | exit test_and_operator | semmle.label | |
|
||||
| test.rs:105:5:108:5 | exit test_and_operator (normal) | test.rs:105:5:108:5 | exit test_and_operator | semmle.order | 1 |
|
||||
| test.rs:105:61:108:5 | BlockExpr | test.rs:105:5:108:5 | exit test_and_operator (normal) | semmle.label | |
|
||||
| test.rs:105:61:108:5 | BlockExpr | test.rs:105:5:108:5 | exit test_and_operator (normal) | semmle.order | 1 |
|
||||
| test.rs:106:9:106:28 | LetStmt | test.rs:106:17:106:27 | BinaryExpr | semmle.label | |
|
||||
| test.rs:106:9:106:28 | LetStmt | test.rs:106:17:106:27 | BinaryExpr | semmle.order | 1 |
|
||||
| test.rs:106:13:106:13 | IdentPat | test.rs:107:9:107:9 | PathExpr | semmle.label | match, no-match |
|
||||
| test.rs:106:13:106:13 | IdentPat | test.rs:107:9:107:9 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:106:13:106:13 | IdentPat | test.rs:107:9:107:9 | PathExpr | semmle.order | 2 |
|
||||
| test.rs:106:17:106:17 | PathExpr | test.rs:106:13:106:13 | IdentPat | semmle.label | false |
|
||||
| test.rs:106:17:106:17 | PathExpr | test.rs:106:13:106:13 | IdentPat | semmle.order | 1 |
|
||||
| test.rs:106:17:106:17 | PathExpr | test.rs:106:22:106:22 | PathExpr | semmle.label | true |
|
||||
| test.rs:106:17:106:17 | PathExpr | test.rs:106:22:106:22 | PathExpr | semmle.order | 2 |
|
||||
| test.rs:106:17:106:22 | BinaryExpr | test.rs:106:17:106:17 | PathExpr | semmle.label | |
|
||||
| test.rs:106:17:106:22 | BinaryExpr | test.rs:106:17:106:17 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:106:17:106:27 | BinaryExpr | test.rs:106:17:106:22 | BinaryExpr | semmle.label | |
|
||||
| test.rs:106:17:106:27 | BinaryExpr | test.rs:106:17:106:22 | BinaryExpr | semmle.order | 1 |
|
||||
| test.rs:106:22:106:22 | PathExpr | test.rs:106:13:106:13 | IdentPat | semmle.label | false |
|
||||
| test.rs:106:22:106:22 | PathExpr | test.rs:106:13:106:13 | IdentPat | semmle.order | 1 |
|
||||
| test.rs:106:22:106:22 | PathExpr | test.rs:106:27:106:27 | PathExpr | semmle.label | true |
|
||||
| test.rs:106:22:106:22 | PathExpr | test.rs:106:27:106:27 | PathExpr | semmle.order | 2 |
|
||||
| test.rs:106:27:106:27 | PathExpr | test.rs:106:13:106:13 | IdentPat | semmle.label | |
|
||||
| test.rs:106:27:106:27 | PathExpr | test.rs:106:13:106:13 | IdentPat | semmle.order | 1 |
|
||||
| test.rs:107:9:107:9 | PathExpr | test.rs:105:61:108:5 | BlockExpr | semmle.label | |
|
||||
| test.rs:107:9:107:9 | PathExpr | test.rs:105:61:108:5 | BlockExpr | semmle.order | 1 |
|
||||
| test.rs:110:5:113:5 | enter test_or_operator | test.rs:111:9:111:28 | LetStmt | semmle.label | |
|
||||
| test.rs:110:5:113:5 | enter test_or_operator | test.rs:111:9:111:28 | LetStmt | semmle.order | 1 |
|
||||
| test.rs:110:5:113:5 | exit test_or_operator (normal) | test.rs:110:5:113:5 | exit test_or_operator | semmle.label | |
|
||||
| test.rs:110:5:113:5 | exit test_or_operator (normal) | test.rs:110:5:113:5 | exit test_or_operator | semmle.order | 1 |
|
||||
| test.rs:110:60:113:5 | BlockExpr | test.rs:110:5:113:5 | exit test_or_operator (normal) | semmle.label | |
|
||||
| test.rs:110:60:113:5 | BlockExpr | test.rs:110:5:113:5 | exit test_or_operator (normal) | semmle.order | 1 |
|
||||
| test.rs:111:9:111:28 | LetStmt | test.rs:111:17:111:27 | BinaryExpr | semmle.label | |
|
||||
| test.rs:111:9:111:28 | LetStmt | test.rs:111:17:111:27 | BinaryExpr | semmle.order | 1 |
|
||||
| test.rs:111:13:111:13 | IdentPat | test.rs:112:9:112:9 | PathExpr | semmle.label | match, no-match |
|
||||
| test.rs:111:13:111:13 | IdentPat | test.rs:112:9:112:9 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:111:13:111:13 | IdentPat | test.rs:112:9:112:9 | PathExpr | semmle.order | 2 |
|
||||
| test.rs:111:17:111:17 | PathExpr | test.rs:111:13:111:13 | IdentPat | semmle.label | true |
|
||||
| test.rs:111:17:111:17 | PathExpr | test.rs:111:13:111:13 | IdentPat | semmle.order | 1 |
|
||||
| test.rs:111:17:111:17 | PathExpr | test.rs:111:22:111:22 | PathExpr | semmle.label | false |
|
||||
| test.rs:111:17:111:17 | PathExpr | test.rs:111:22:111:22 | PathExpr | semmle.order | 2 |
|
||||
| test.rs:111:17:111:22 | BinaryExpr | test.rs:111:17:111:17 | PathExpr | semmle.label | |
|
||||
| test.rs:111:17:111:22 | BinaryExpr | test.rs:111:17:111:17 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:111:17:111:27 | BinaryExpr | test.rs:111:17:111:22 | BinaryExpr | semmle.label | |
|
||||
| test.rs:111:17:111:27 | BinaryExpr | test.rs:111:17:111:22 | BinaryExpr | semmle.order | 1 |
|
||||
| test.rs:111:22:111:22 | PathExpr | test.rs:111:13:111:13 | IdentPat | semmle.label | true |
|
||||
| test.rs:111:22:111:22 | PathExpr | test.rs:111:13:111:13 | IdentPat | semmle.order | 1 |
|
||||
| test.rs:111:22:111:22 | PathExpr | test.rs:111:27:111:27 | PathExpr | semmle.label | false |
|
||||
| test.rs:111:22:111:22 | PathExpr | test.rs:111:27:111:27 | PathExpr | semmle.order | 2 |
|
||||
| test.rs:111:27:111:27 | PathExpr | test.rs:111:13:111:13 | IdentPat | semmle.label | |
|
||||
| test.rs:111:27:111:27 | PathExpr | test.rs:111:13:111:13 | IdentPat | semmle.order | 1 |
|
||||
| test.rs:112:9:112:9 | PathExpr | test.rs:110:60:113:5 | BlockExpr | semmle.label | |
|
||||
| test.rs:112:9:112:9 | PathExpr | test.rs:110:60:113:5 | BlockExpr | semmle.order | 1 |
|
||||
| test.rs:115:5:118:5 | enter test_or_operator_2 | test.rs:116:9:116:36 | LetStmt | semmle.label | |
|
||||
| test.rs:115:5:118:5 | enter test_or_operator_2 | test.rs:116:9:116:36 | LetStmt | semmle.order | 1 |
|
||||
| test.rs:115:5:118:5 | exit test_or_operator_2 (normal) | test.rs:115:5:118:5 | exit test_or_operator_2 | semmle.label | |
|
||||
| test.rs:115:5:118:5 | exit test_or_operator_2 (normal) | test.rs:115:5:118:5 | exit test_or_operator_2 | semmle.order | 1 |
|
||||
| test.rs:115:61:118:5 | BlockExpr | test.rs:115:5:118:5 | exit test_or_operator_2 (normal) | semmle.label | |
|
||||
| test.rs:115:61:118:5 | BlockExpr | test.rs:115:5:118:5 | exit test_or_operator_2 (normal) | semmle.order | 1 |
|
||||
| test.rs:116:9:116:36 | LetStmt | test.rs:116:17:116:35 | BinaryExpr | semmle.label | |
|
||||
| test.rs:116:9:116:36 | LetStmt | test.rs:116:17:116:35 | BinaryExpr | semmle.order | 1 |
|
||||
| test.rs:116:13:116:13 | IdentPat | test.rs:117:9:117:9 | PathExpr | semmle.label | match, no-match |
|
||||
| test.rs:116:13:116:13 | IdentPat | test.rs:117:9:117:9 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:116:13:116:13 | IdentPat | test.rs:117:9:117:9 | PathExpr | semmle.order | 2 |
|
||||
| test.rs:116:17:116:17 | PathExpr | test.rs:116:13:116:13 | IdentPat | semmle.label | true |
|
||||
| test.rs:116:17:116:17 | PathExpr | test.rs:116:13:116:13 | IdentPat | semmle.order | 1 |
|
||||
| test.rs:116:17:116:30 | BinaryExpr | test.rs:116:17:116:17 | PathExpr | semmle.label | |
|
||||
| test.rs:116:17:116:30 | BinaryExpr | test.rs:116:17:116:17 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:116:17:116:35 | BinaryExpr | test.rs:116:17:116:30 | BinaryExpr | semmle.label | |
|
||||
| test.rs:116:17:116:35 | BinaryExpr | test.rs:116:17:116:30 | BinaryExpr | semmle.order | 1 |
|
||||
| test.rs:117:9:117:9 | PathExpr | test.rs:115:61:118:5 | BlockExpr | semmle.label | |
|
||||
| test.rs:117:9:117:9 | PathExpr | test.rs:115:61:118:5 | BlockExpr | semmle.order | 1 |
|
||||
| test.rs:122:1:128:1 | enter test_match | test.rs:123:11:123:21 | PathExpr | semmle.label | |
|
||||
| test.rs:122:1:128:1 | enter test_match | test.rs:123:11:123:21 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:122:1:128:1 | exit test_match (normal) | test.rs:122:1:128:1 | exit test_match | semmle.label | |
|
||||
| test.rs:122:1:128:1 | exit test_match (normal) | test.rs:122:1:128:1 | exit test_match | semmle.order | 1 |
|
||||
| test.rs:122:44:128:1 | BlockExpr | test.rs:122:1:128:1 | exit test_match (normal) | semmle.label | |
|
||||
| test.rs:122:44:128:1 | BlockExpr | test.rs:122:1:128:1 | exit test_match (normal) | semmle.order | 1 |
|
||||
| test.rs:123:5:127:5 | MatchExpr | test.rs:122:44:128:1 | BlockExpr | semmle.label | |
|
||||
| test.rs:123:5:127:5 | MatchExpr | test.rs:122:44:128:1 | BlockExpr | semmle.order | 1 |
|
||||
| test.rs:123:11:123:21 | PathExpr | test.rs:124:9:124:23 | TupleStructPat | semmle.label | |
|
||||
| test.rs:123:11:123:21 | PathExpr | test.rs:124:9:124:23 | TupleStructPat | semmle.order | 1 |
|
||||
| test.rs:124:9:124:23 | TupleStructPat | test.rs:123:5:127:5 | MatchExpr | semmle.label | no-match |
|
||||
| test.rs:124:9:124:23 | TupleStructPat | test.rs:123:5:127:5 | MatchExpr | semmle.order | 1 |
|
||||
| test.rs:124:9:124:23 | TupleStructPat | test.rs:124:28:124:28 | PathExpr | semmle.label | match |
|
||||
| test.rs:124:9:124:23 | TupleStructPat | test.rs:124:28:124:28 | PathExpr | semmle.order | 2 |
|
||||
| test.rs:124:9:124:23 | TupleStructPat | test.rs:125:9:125:23 | TupleStructPat | semmle.label | no-match |
|
||||
| test.rs:124:9:124:23 | TupleStructPat | test.rs:125:9:125:23 | TupleStructPat | semmle.order | 3 |
|
||||
| test.rs:124:28:124:28 | PathExpr | test.rs:124:32:124:33 | LiteralExpr | semmle.label | |
|
||||
| test.rs:124:28:124:28 | PathExpr | test.rs:124:32:124:33 | LiteralExpr | semmle.order | 1 |
|
||||
| test.rs:124:32:124:33 | LiteralExpr | test.rs:124:28:124:33 | BinaryExpr | semmle.label | |
|
||||
| test.rs:124:32:124:33 | LiteralExpr | test.rs:124:28:124:33 | BinaryExpr | semmle.order | 1 |
|
||||
| test.rs:125:9:125:23 | TupleStructPat | test.rs:123:5:127:5 | MatchExpr | semmle.label | no-match |
|
||||
| test.rs:125:9:125:23 | TupleStructPat | test.rs:123:5:127:5 | MatchExpr | semmle.order | 1 |
|
||||
| test.rs:125:9:125:23 | TupleStructPat | test.rs:125:28:125:28 | PathExpr | semmle.label | match |
|
||||
| test.rs:125:9:125:23 | TupleStructPat | test.rs:125:28:125:28 | PathExpr | semmle.order | 2 |
|
||||
| test.rs:125:9:125:23 | TupleStructPat | test.rs:126:9:126:20 | PathPat | semmle.label | no-match |
|
||||
| test.rs:125:9:125:23 | TupleStructPat | test.rs:126:9:126:20 | PathPat | semmle.order | 3 |
|
||||
| test.rs:125:28:125:28 | PathExpr | test.rs:123:5:127:5 | MatchExpr | semmle.label | |
|
||||
| test.rs:125:28:125:28 | PathExpr | test.rs:123:5:127:5 | MatchExpr | semmle.order | 1 |
|
||||
| test.rs:126:9:126:20 | PathPat | test.rs:123:5:127:5 | MatchExpr | semmle.label | no-match |
|
||||
| test.rs:126:9:126:20 | PathPat | test.rs:123:5:127:5 | MatchExpr | semmle.order | 1 |
|
||||
| test.rs:126:9:126:20 | PathPat | test.rs:126:25:126:25 | LiteralExpr | semmle.label | match |
|
||||
| test.rs:126:9:126:20 | PathPat | test.rs:126:25:126:25 | LiteralExpr | semmle.order | 2 |
|
||||
| test.rs:126:25:126:25 | LiteralExpr | test.rs:123:5:127:5 | MatchExpr | semmle.label | |
|
||||
| test.rs:126:25:126:25 | LiteralExpr | test.rs:123:5:127:5 | MatchExpr | semmle.order | 1 |
|
||||
| test.rs:131:5:136:5 | enter test_infinite_loop | test.rs:132:9:134:9 | ExprStmt | semmle.label | |
|
||||
| test.rs:131:5:136:5 | enter test_infinite_loop | test.rs:132:9:134:9 | ExprStmt | semmle.order | 1 |
|
||||
| test.rs:132:9:134:9 | ExprStmt | test.rs:133:13:133:13 | LiteralExpr | semmle.label | |
|
||||
| test.rs:132:9:134:9 | ExprStmt | test.rs:133:13:133:13 | LiteralExpr | semmle.order | 1 |
|
||||
| test.rs:132:14:134:9 | BlockExpr | test.rs:133:13:133:13 | LiteralExpr | semmle.label | |
|
||||
| test.rs:132:14:134:9 | BlockExpr | test.rs:133:13:133:13 | LiteralExpr | semmle.order | 1 |
|
||||
| test.rs:133:13:133:13 | LiteralExpr | test.rs:132:14:134:9 | BlockExpr | semmle.label | |
|
||||
| test.rs:133:13:133:13 | LiteralExpr | test.rs:132:14:134:9 | BlockExpr | semmle.order | 1 |
|
||||
| test.rs:138:5:143:5 | enter test_let_match | test.rs:139:9:141:10 | LetStmt | semmle.label | |
|
||||
| test.rs:138:5:143:5 | enter test_let_match | test.rs:139:9:141:10 | LetStmt | semmle.order | 1 |
|
||||
| test.rs:138:5:143:5 | exit test_let_match (normal) | test.rs:138:5:143:5 | exit test_let_match | semmle.label | |
|
||||
| test.rs:138:5:143:5 | exit test_let_match (normal) | test.rs:138:5:143:5 | exit test_let_match | semmle.order | 1 |
|
||||
| test.rs:138:39:143:5 | BlockExpr | test.rs:138:5:143:5 | exit test_let_match (normal) | semmle.label | |
|
||||
| test.rs:138:39:143:5 | BlockExpr | test.rs:138:5:143:5 | exit test_let_match (normal) | semmle.order | 1 |
|
||||
| test.rs:139:9:141:10 | LetStmt | test.rs:139:23:139:23 | PathExpr | semmle.label | |
|
||||
| test.rs:139:9:141:10 | LetStmt | test.rs:139:23:139:23 | PathExpr | semmle.order | 1 |
|
||||
| test.rs:139:13:139:19 | TupleStructPat | test.rs:140:13:140:27 | LiteralExpr | semmle.label | no-match |
|
||||
| test.rs:139:13:139:19 | TupleStructPat | test.rs:140:13:140:27 | LiteralExpr | semmle.order | 1 |
|
||||
| test.rs:139:13:139:19 | TupleStructPat | test.rs:142:9:142:9 | PathExpr | semmle.label | match |
|
||||
| test.rs:139:13:139:19 | TupleStructPat | test.rs:142:9:142:9 | PathExpr | semmle.order | 2 |
|
||||
| test.rs:139:23:139:23 | PathExpr | test.rs:139:13:139:19 | TupleStructPat | semmle.label | |
|
||||
| test.rs:139:23:139:23 | PathExpr | test.rs:139:13:139:19 | TupleStructPat | semmle.order | 1 |
|
||||
| test.rs:140:13:140:27 | LiteralExpr | test.rs:139:30:141:9 | BlockExpr | semmle.label | |
|
||||
| test.rs:140:13:140:27 | LiteralExpr | test.rs:139:30:141:9 | BlockExpr | semmle.order | 1 |
|
||||
| test.rs:142:9:142:9 | PathExpr | test.rs:138:39:143:5 | BlockExpr | semmle.label | |
|
||||
| test.rs:142:9:142:9 | PathExpr | test.rs:138:39:143:5 | BlockExpr | semmle.order | 1 |
|
||||
| test.rs:1:1:4:1 | enter test_call | test.rs:2:5:2:41 | ExprStmt | |
|
||||
| test.rs:1:1:4:1 | exit test_call (normal) | test.rs:1:1:4:1 | exit test_call | |
|
||||
| test.rs:1:24:4:1 | BlockExpr | test.rs:1:1:4:1 | exit test_call (normal) | |
|
||||
| test.rs:2:5:2:21 | PathExpr | test.rs:2:23:2:26 | LiteralExpr | |
|
||||
| test.rs:2:5:2:40 | CallExpr | test.rs:3:5:3:24 | ExprStmt | |
|
||||
| test.rs:2:5:2:41 | ExprStmt | test.rs:2:5:2:21 | PathExpr | |
|
||||
| test.rs:2:23:2:26 | LiteralExpr | test.rs:2:29:2:33 | LiteralExpr | |
|
||||
| test.rs:2:29:2:33 | LiteralExpr | test.rs:2:36:2:39 | LiteralExpr | |
|
||||
| test.rs:2:36:2:39 | LiteralExpr | test.rs:2:5:2:40 | CallExpr | |
|
||||
| test.rs:3:5:3:19 | PathExpr | test.rs:3:21:3:22 | LiteralExpr | |
|
||||
| test.rs:3:5:3:23 | CallExpr | test.rs:1:24:4:1 | BlockExpr | |
|
||||
| test.rs:3:5:3:24 | ExprStmt | test.rs:3:5:3:19 | PathExpr | |
|
||||
| test.rs:3:21:3:22 | LiteralExpr | test.rs:3:5:3:23 | CallExpr | |
|
||||
| test.rs:8:5:24:5 | enter test_break_and_continue | test.rs:9:9:9:22 | LetStmt | |
|
||||
| test.rs:8:5:24:5 | exit test_break_and_continue (normal) | test.rs:8:5:24:5 | exit test_break_and_continue | |
|
||||
| test.rs:9:9:9:22 | LetStmt | test.rs:9:21:9:21 | PathExpr | |
|
||||
| test.rs:9:13:9:17 | IdentPat | test.rs:10:9:22:9 | ExprStmt | match, no-match |
|
||||
| test.rs:9:21:9:21 | PathExpr | test.rs:9:13:9:17 | IdentPat | |
|
||||
| test.rs:10:9:22:9 | ExprStmt | test.rs:11:13:11:24 | ExprStmt | |
|
||||
| test.rs:10:9:22:9 | LoopExpr | test.rs:23:9:23:20 | ExprStmt | |
|
||||
| test.rs:10:14:22:9 | BlockExpr | test.rs:11:13:11:24 | ExprStmt | |
|
||||
| test.rs:11:13:11:13 | PathExpr | test.rs:11:17:11:20 | PathExpr | |
|
||||
| test.rs:11:13:11:23 | BinaryExpr | test.rs:12:13:14:13 | ExprStmt | |
|
||||
| test.rs:11:13:11:24 | ExprStmt | test.rs:11:13:11:13 | PathExpr | |
|
||||
| test.rs:11:17:11:20 | PathExpr | test.rs:11:22:11:22 | PathExpr | |
|
||||
| test.rs:11:17:11:23 | CallExpr | test.rs:11:13:11:23 | BinaryExpr | |
|
||||
| test.rs:11:22:11:22 | PathExpr | test.rs:11:17:11:23 | CallExpr | |
|
||||
| test.rs:12:13:14:13 | ExprStmt | test.rs:12:16:12:16 | PathExpr | |
|
||||
| test.rs:12:13:14:13 | IfExpr | test.rs:15:13:17:13 | ExprStmt | |
|
||||
| test.rs:12:16:12:16 | PathExpr | test.rs:12:20:12:24 | LiteralExpr | |
|
||||
| test.rs:12:16:12:24 | BinaryExpr | test.rs:12:13:14:13 | IfExpr | false |
|
||||
| test.rs:12:16:12:24 | BinaryExpr | test.rs:13:17:13:29 | ExprStmt | true |
|
||||
| test.rs:12:20:12:24 | LiteralExpr | test.rs:12:16:12:24 | BinaryExpr | |
|
||||
| test.rs:13:17:13:28 | ReturnExpr | test.rs:8:5:24:5 | exit test_break_and_continue (normal) | return |
|
||||
| test.rs:13:17:13:29 | ExprStmt | test.rs:13:24:13:28 | LiteralExpr | |
|
||||
| test.rs:13:24:13:28 | LiteralExpr | test.rs:13:17:13:28 | ReturnExpr | |
|
||||
| test.rs:15:13:17:13 | ExprStmt | test.rs:15:16:15:16 | PathExpr | |
|
||||
| test.rs:15:13:17:13 | IfExpr | test.rs:18:13:20:13 | ExprStmt | |
|
||||
| test.rs:15:16:15:16 | PathExpr | test.rs:15:21:15:21 | LiteralExpr | |
|
||||
| test.rs:15:16:15:21 | BinaryExpr | test.rs:15:13:17:13 | IfExpr | false |
|
||||
| test.rs:15:16:15:21 | BinaryExpr | test.rs:16:17:16:22 | ExprStmt | true |
|
||||
| test.rs:15:21:15:21 | LiteralExpr | test.rs:15:16:15:21 | BinaryExpr | |
|
||||
| test.rs:16:17:16:21 | BreakExpr | test.rs:10:9:22:9 | LoopExpr | break |
|
||||
| test.rs:16:17:16:22 | ExprStmt | test.rs:16:17:16:21 | BreakExpr | |
|
||||
| test.rs:18:13:20:13 | ExprStmt | test.rs:18:16:18:16 | PathExpr | |
|
||||
| test.rs:18:13:20:13 | IfExpr | test.rs:21:13:21:13 | PathExpr | |
|
||||
| test.rs:18:16:18:16 | PathExpr | test.rs:18:20:18:20 | LiteralExpr | |
|
||||
| test.rs:18:16:18:20 | BinaryExpr | test.rs:18:25:18:25 | LiteralExpr | |
|
||||
| test.rs:18:16:18:25 | BinaryExpr | test.rs:18:13:20:13 | IfExpr | false |
|
||||
| test.rs:18:16:18:25 | BinaryExpr | test.rs:19:17:19:25 | ExprStmt | true |
|
||||
| test.rs:18:20:18:20 | LiteralExpr | test.rs:18:16:18:20 | BinaryExpr | |
|
||||
| test.rs:18:25:18:25 | LiteralExpr | test.rs:18:16:18:25 | BinaryExpr | |
|
||||
| test.rs:19:17:19:24 | ContinueExpr | test.rs:11:13:11:24 | ExprStmt | continue |
|
||||
| test.rs:19:17:19:25 | ExprStmt | test.rs:19:17:19:24 | ContinueExpr | |
|
||||
| test.rs:21:13:21:13 | PathExpr | test.rs:21:17:21:17 | PathExpr | |
|
||||
| test.rs:21:13:21:21 | BinaryExpr | test.rs:10:14:22:9 | BlockExpr | |
|
||||
| test.rs:21:17:21:17 | PathExpr | test.rs:21:21:21:21 | LiteralExpr | |
|
||||
| test.rs:21:17:21:21 | BinaryExpr | test.rs:21:13:21:21 | BinaryExpr | |
|
||||
| test.rs:21:21:21:21 | LiteralExpr | test.rs:21:17:21:21 | BinaryExpr | |
|
||||
| test.rs:23:9:23:19 | ReturnExpr | test.rs:8:5:24:5 | exit test_break_and_continue (normal) | return |
|
||||
| test.rs:23:9:23:20 | ExprStmt | test.rs:23:16:23:19 | LiteralExpr | |
|
||||
| test.rs:23:16:23:19 | LiteralExpr | test.rs:23:9:23:19 | ReturnExpr | |
|
||||
| test.rs:26:5:38:5 | enter test_break_with_labels | test.rs:27:9:36:9 | ExprStmt | |
|
||||
| test.rs:26:5:38:5 | exit test_break_with_labels (normal) | test.rs:26:5:38:5 | exit test_break_with_labels | |
|
||||
| test.rs:26:41:38:5 | BlockExpr | test.rs:26:5:38:5 | exit test_break_with_labels (normal) | |
|
||||
| test.rs:27:9:36:9 | ExprStmt | test.rs:29:17:33:17 | ExprStmt | |
|
||||
| test.rs:27:9:36:9 | LoopExpr | test.rs:37:9:37:12 | LiteralExpr | |
|
||||
| test.rs:27:22:36:9 | BlockExpr | test.rs:29:17:33:17 | ExprStmt | |
|
||||
| test.rs:28:13:35:13 | LoopExpr | test.rs:27:22:36:9 | BlockExpr | |
|
||||
| test.rs:29:17:33:17 | ExprStmt | test.rs:29:20:29:24 | LiteralExpr | |
|
||||
| test.rs:29:17:33:17 | IfExpr | test.rs:34:17:34:29 | ExprStmt | |
|
||||
| test.rs:29:20:29:24 | LiteralExpr | test.rs:30:21:30:26 | ExprStmt | true |
|
||||
| test.rs:29:20:29:24 | LiteralExpr | test.rs:31:27:31:30 | LiteralExpr | false |
|
||||
| test.rs:30:21:30:25 | BreakExpr | test.rs:28:13:35:13 | LoopExpr | break |
|
||||
| test.rs:30:21:30:26 | ExprStmt | test.rs:30:21:30:25 | BreakExpr | |
|
||||
| test.rs:31:24:33:17 | IfExpr | test.rs:29:17:33:17 | IfExpr | |
|
||||
| test.rs:31:27:31:30 | LiteralExpr | test.rs:31:24:33:17 | IfExpr | false |
|
||||
| test.rs:31:27:31:30 | LiteralExpr | test.rs:32:21:32:33 | ExprStmt | true |
|
||||
| test.rs:32:21:32:32 | BreakExpr | test.rs:27:9:36:9 | LoopExpr | break('outer) |
|
||||
| test.rs:32:21:32:33 | ExprStmt | test.rs:32:21:32:32 | BreakExpr | |
|
||||
| test.rs:34:17:34:28 | BreakExpr | test.rs:28:13:35:13 | LoopExpr | break('inner) |
|
||||
| test.rs:34:17:34:29 | ExprStmt | test.rs:34:17:34:28 | BreakExpr | |
|
||||
| test.rs:37:9:37:12 | LiteralExpr | test.rs:26:41:38:5 | BlockExpr | |
|
||||
| test.rs:40:5:52:5 | enter test_continue_with_labels | test.rs:42:13:42:14 | ExprStmt | |
|
||||
| test.rs:42:13:42:13 | LiteralExpr | test.rs:44:17:48:17 | ExprStmt | |
|
||||
| test.rs:42:13:42:14 | ExprStmt | test.rs:42:13:42:13 | LiteralExpr | |
|
||||
| test.rs:44:17:48:17 | ExprStmt | test.rs:44:20:44:24 | LiteralExpr | |
|
||||
| test.rs:44:17:48:17 | IfExpr | test.rs:49:17:49:32 | ExprStmt | |
|
||||
| test.rs:44:20:44:24 | LiteralExpr | test.rs:45:21:45:29 | ExprStmt | true |
|
||||
| test.rs:44:20:44:24 | LiteralExpr | test.rs:46:27:46:30 | LiteralExpr | false |
|
||||
| test.rs:45:21:45:28 | ContinueExpr | test.rs:44:17:48:17 | ExprStmt | continue |
|
||||
| test.rs:45:21:45:29 | ExprStmt | test.rs:45:21:45:28 | ContinueExpr | |
|
||||
| test.rs:46:24:48:17 | IfExpr | test.rs:44:17:48:17 | IfExpr | |
|
||||
| test.rs:46:27:46:30 | LiteralExpr | test.rs:46:24:48:17 | IfExpr | false |
|
||||
| test.rs:46:27:46:30 | LiteralExpr | test.rs:47:21:47:36 | ExprStmt | true |
|
||||
| test.rs:47:21:47:35 | ContinueExpr | test.rs:42:13:42:14 | ExprStmt | continue('outer) |
|
||||
| test.rs:47:21:47:36 | ExprStmt | test.rs:47:21:47:35 | ContinueExpr | |
|
||||
| test.rs:49:17:49:31 | ContinueExpr | test.rs:44:17:48:17 | ExprStmt | continue('inner) |
|
||||
| test.rs:49:17:49:32 | ExprStmt | test.rs:49:17:49:31 | ContinueExpr | |
|
||||
| test.rs:55:1:58:1 | enter test_nested_function | test.rs:56:5:56:28 | LetStmt | |
|
||||
| test.rs:55:1:58:1 | exit test_nested_function (normal) | test.rs:55:1:58:1 | exit test_nested_function | |
|
||||
| test.rs:55:40:58:1 | BlockExpr | test.rs:55:1:58:1 | exit test_nested_function (normal) | |
|
||||
| test.rs:56:5:56:28 | LetStmt | test.rs:56:19:56:27 | ClosureExpr | |
|
||||
| test.rs:56:9:56:15 | IdentPat | test.rs:57:5:57:11 | PathExpr | match, no-match |
|
||||
| test.rs:56:19:56:27 | ClosureExpr | test.rs:56:9:56:15 | IdentPat | |
|
||||
| test.rs:56:19:56:27 | enter ClosureExpr | test.rs:56:23:56:23 | PathExpr | |
|
||||
| test.rs:56:19:56:27 | exit ClosureExpr (normal) | test.rs:56:19:56:27 | exit ClosureExpr | |
|
||||
| test.rs:56:23:56:23 | PathExpr | test.rs:56:27:56:27 | LiteralExpr | |
|
||||
| test.rs:56:23:56:27 | BinaryExpr | test.rs:56:19:56:27 | exit ClosureExpr (normal) | |
|
||||
| test.rs:56:27:56:27 | LiteralExpr | test.rs:56:23:56:27 | BinaryExpr | |
|
||||
| test.rs:57:5:57:11 | PathExpr | test.rs:57:13:57:19 | PathExpr | |
|
||||
| test.rs:57:5:57:23 | CallExpr | test.rs:55:40:58:1 | BlockExpr | |
|
||||
| test.rs:57:13:57:19 | PathExpr | test.rs:57:21:57:21 | PathExpr | |
|
||||
| test.rs:57:13:57:22 | CallExpr | test.rs:57:5:57:23 | CallExpr | |
|
||||
| test.rs:57:21:57:21 | PathExpr | test.rs:57:13:57:22 | CallExpr | |
|
||||
| test.rs:62:5:68:5 | enter test_if_else | test.rs:63:12:63:12 | PathExpr | |
|
||||
| test.rs:62:5:68:5 | exit test_if_else (normal) | test.rs:62:5:68:5 | exit test_if_else | |
|
||||
| test.rs:62:36:68:5 | BlockExpr | test.rs:62:5:68:5 | exit test_if_else (normal) | |
|
||||
| test.rs:63:9:67:9 | IfExpr | test.rs:62:36:68:5 | BlockExpr | |
|
||||
| test.rs:63:12:63:12 | PathExpr | test.rs:63:17:63:17 | LiteralExpr | |
|
||||
| test.rs:63:12:63:17 | BinaryExpr | test.rs:64:13:64:13 | LiteralExpr | true |
|
||||
| test.rs:63:12:63:17 | BinaryExpr | test.rs:66:13:66:13 | PathExpr | false |
|
||||
| test.rs:63:17:63:17 | LiteralExpr | test.rs:63:12:63:17 | BinaryExpr | |
|
||||
| test.rs:63:19:65:9 | BlockExpr | test.rs:63:9:67:9 | IfExpr | |
|
||||
| test.rs:64:13:64:13 | LiteralExpr | test.rs:63:19:65:9 | BlockExpr | |
|
||||
| test.rs:65:16:67:9 | BlockExpr | test.rs:63:9:67:9 | IfExpr | |
|
||||
| test.rs:66:13:66:13 | PathExpr | test.rs:66:17:66:17 | LiteralExpr | |
|
||||
| test.rs:66:13:66:17 | BinaryExpr | test.rs:65:16:67:9 | BlockExpr | |
|
||||
| test.rs:66:17:66:17 | LiteralExpr | test.rs:66:13:66:17 | BinaryExpr | |
|
||||
| test.rs:70:5:76:5 | enter test_if_let_else | test.rs:71:12:71:26 | LetExpr | |
|
||||
| test.rs:70:5:76:5 | exit test_if_let_else (normal) | test.rs:70:5:76:5 | exit test_if_let_else | |
|
||||
| test.rs:70:48:76:5 | BlockExpr | test.rs:70:5:76:5 | exit test_if_let_else (normal) | |
|
||||
| test.rs:71:9:75:9 | IfExpr | test.rs:70:48:76:5 | BlockExpr | |
|
||||
| test.rs:71:12:71:26 | LetExpr | test.rs:71:16:71:22 | TupleStructPat | |
|
||||
| test.rs:71:16:71:22 | TupleStructPat | test.rs:72:13:72:13 | PathExpr | match |
|
||||
| test.rs:71:16:71:22 | TupleStructPat | test.rs:74:13:74:13 | LiteralExpr | no-match |
|
||||
| test.rs:71:28:73:9 | BlockExpr | test.rs:71:9:75:9 | IfExpr | |
|
||||
| test.rs:72:13:72:13 | PathExpr | test.rs:71:28:73:9 | BlockExpr | |
|
||||
| test.rs:73:16:75:9 | BlockExpr | test.rs:71:9:75:9 | IfExpr | |
|
||||
| test.rs:74:13:74:13 | LiteralExpr | test.rs:73:16:75:9 | BlockExpr | |
|
||||
| test.rs:78:5:83:5 | enter test_if_let | test.rs:79:9:81:9 | ExprStmt | |
|
||||
| test.rs:78:5:83:5 | exit test_if_let (normal) | test.rs:78:5:83:5 | exit test_if_let | |
|
||||
| test.rs:78:43:83:5 | BlockExpr | test.rs:78:5:83:5 | exit test_if_let (normal) | |
|
||||
| test.rs:79:9:81:9 | ExprStmt | test.rs:79:12:79:26 | LetExpr | |
|
||||
| test.rs:79:9:81:9 | IfExpr | test.rs:82:9:82:9 | LiteralExpr | |
|
||||
| test.rs:79:12:79:26 | LetExpr | test.rs:79:16:79:22 | TupleStructPat | |
|
||||
| test.rs:79:16:79:22 | TupleStructPat | test.rs:79:9:81:9 | IfExpr | no-match |
|
||||
| test.rs:79:16:79:22 | TupleStructPat | test.rs:80:13:80:13 | PathExpr | match |
|
||||
| test.rs:79:28:81:9 | BlockExpr | test.rs:79:9:81:9 | IfExpr | |
|
||||
| test.rs:80:13:80:13 | PathExpr | test.rs:79:28:81:9 | BlockExpr | |
|
||||
| test.rs:82:9:82:9 | LiteralExpr | test.rs:78:43:83:5 | BlockExpr | |
|
||||
| test.rs:105:5:108:5 | enter test_and_operator | test.rs:106:9:106:28 | LetStmt | |
|
||||
| test.rs:105:5:108:5 | exit test_and_operator (normal) | test.rs:105:5:108:5 | exit test_and_operator | |
|
||||
| test.rs:105:61:108:5 | BlockExpr | test.rs:105:5:108:5 | exit test_and_operator (normal) | |
|
||||
| test.rs:106:9:106:28 | LetStmt | test.rs:106:17:106:27 | BinaryExpr | |
|
||||
| test.rs:106:13:106:13 | IdentPat | test.rs:107:9:107:9 | PathExpr | match, no-match |
|
||||
| test.rs:106:17:106:17 | PathExpr | test.rs:106:13:106:13 | IdentPat | false |
|
||||
| test.rs:106:17:106:17 | PathExpr | test.rs:106:22:106:22 | PathExpr | true |
|
||||
| test.rs:106:17:106:22 | BinaryExpr | test.rs:106:17:106:17 | PathExpr | |
|
||||
| test.rs:106:17:106:27 | BinaryExpr | test.rs:106:17:106:22 | BinaryExpr | |
|
||||
| test.rs:106:22:106:22 | PathExpr | test.rs:106:13:106:13 | IdentPat | false |
|
||||
| test.rs:106:22:106:22 | PathExpr | test.rs:106:27:106:27 | PathExpr | true |
|
||||
| test.rs:106:27:106:27 | PathExpr | test.rs:106:13:106:13 | IdentPat | |
|
||||
| test.rs:107:9:107:9 | PathExpr | test.rs:105:61:108:5 | BlockExpr | |
|
||||
| test.rs:110:5:113:5 | enter test_or_operator | test.rs:111:9:111:28 | LetStmt | |
|
||||
| test.rs:110:5:113:5 | exit test_or_operator (normal) | test.rs:110:5:113:5 | exit test_or_operator | |
|
||||
| test.rs:110:60:113:5 | BlockExpr | test.rs:110:5:113:5 | exit test_or_operator (normal) | |
|
||||
| test.rs:111:9:111:28 | LetStmt | test.rs:111:17:111:27 | BinaryExpr | |
|
||||
| test.rs:111:13:111:13 | IdentPat | test.rs:112:9:112:9 | PathExpr | match, no-match |
|
||||
| test.rs:111:17:111:17 | PathExpr | test.rs:111:13:111:13 | IdentPat | true |
|
||||
| test.rs:111:17:111:17 | PathExpr | test.rs:111:22:111:22 | PathExpr | false |
|
||||
| test.rs:111:17:111:22 | BinaryExpr | test.rs:111:17:111:17 | PathExpr | |
|
||||
| test.rs:111:17:111:27 | BinaryExpr | test.rs:111:17:111:22 | BinaryExpr | |
|
||||
| test.rs:111:22:111:22 | PathExpr | test.rs:111:13:111:13 | IdentPat | true |
|
||||
| test.rs:111:22:111:22 | PathExpr | test.rs:111:27:111:27 | PathExpr | false |
|
||||
| test.rs:111:27:111:27 | PathExpr | test.rs:111:13:111:13 | IdentPat | |
|
||||
| test.rs:112:9:112:9 | PathExpr | test.rs:110:60:113:5 | BlockExpr | |
|
||||
| test.rs:115:5:118:5 | enter test_or_operator_2 | test.rs:116:9:116:36 | LetStmt | |
|
||||
| test.rs:115:5:118:5 | exit test_or_operator_2 (normal) | test.rs:115:5:118:5 | exit test_or_operator_2 | |
|
||||
| test.rs:115:61:118:5 | BlockExpr | test.rs:115:5:118:5 | exit test_or_operator_2 (normal) | |
|
||||
| test.rs:116:9:116:36 | LetStmt | test.rs:116:17:116:35 | BinaryExpr | |
|
||||
| test.rs:116:13:116:13 | IdentPat | test.rs:117:9:117:9 | PathExpr | match, no-match |
|
||||
| test.rs:116:17:116:17 | PathExpr | test.rs:116:13:116:13 | IdentPat | true |
|
||||
| test.rs:116:17:116:30 | BinaryExpr | test.rs:116:17:116:17 | PathExpr | |
|
||||
| test.rs:116:17:116:35 | BinaryExpr | test.rs:116:17:116:30 | BinaryExpr | |
|
||||
| test.rs:117:9:117:9 | PathExpr | test.rs:115:61:118:5 | BlockExpr | |
|
||||
| test.rs:122:1:128:1 | enter test_match | test.rs:123:11:123:21 | PathExpr | |
|
||||
| test.rs:122:1:128:1 | exit test_match (normal) | test.rs:122:1:128:1 | exit test_match | |
|
||||
| test.rs:122:44:128:1 | BlockExpr | test.rs:122:1:128:1 | exit test_match (normal) | |
|
||||
| test.rs:123:5:127:5 | MatchExpr | test.rs:122:44:128:1 | BlockExpr | |
|
||||
| test.rs:123:11:123:21 | PathExpr | test.rs:124:9:124:23 | TupleStructPat | |
|
||||
| test.rs:124:9:124:23 | TupleStructPat | test.rs:123:5:127:5 | MatchExpr | no-match |
|
||||
| test.rs:124:9:124:23 | TupleStructPat | test.rs:124:28:124:28 | PathExpr | match |
|
||||
| test.rs:124:9:124:23 | TupleStructPat | test.rs:125:9:125:23 | TupleStructPat | no-match |
|
||||
| test.rs:124:28:124:28 | PathExpr | test.rs:124:32:124:33 | LiteralExpr | |
|
||||
| test.rs:124:32:124:33 | LiteralExpr | test.rs:124:28:124:33 | BinaryExpr | |
|
||||
| test.rs:125:9:125:23 | TupleStructPat | test.rs:123:5:127:5 | MatchExpr | no-match |
|
||||
| test.rs:125:9:125:23 | TupleStructPat | test.rs:125:28:125:28 | PathExpr | match |
|
||||
| test.rs:125:9:125:23 | TupleStructPat | test.rs:126:9:126:20 | PathPat | no-match |
|
||||
| test.rs:125:28:125:28 | PathExpr | test.rs:123:5:127:5 | MatchExpr | |
|
||||
| test.rs:126:9:126:20 | PathPat | test.rs:123:5:127:5 | MatchExpr | no-match |
|
||||
| test.rs:126:9:126:20 | PathPat | test.rs:126:25:126:25 | LiteralExpr | match |
|
||||
| test.rs:126:25:126:25 | LiteralExpr | test.rs:123:5:127:5 | MatchExpr | |
|
||||
| test.rs:131:5:136:5 | enter test_infinite_loop | test.rs:132:9:134:9 | ExprStmt | |
|
||||
| test.rs:132:9:134:9 | ExprStmt | test.rs:133:13:133:13 | LiteralExpr | |
|
||||
| test.rs:132:14:134:9 | BlockExpr | test.rs:133:13:133:13 | LiteralExpr | |
|
||||
| test.rs:133:13:133:13 | LiteralExpr | test.rs:132:14:134:9 | BlockExpr | |
|
||||
| test.rs:138:5:143:5 | enter test_let_match | test.rs:139:9:141:10 | LetStmt | |
|
||||
| test.rs:138:5:143:5 | exit test_let_match (normal) | test.rs:138:5:143:5 | exit test_let_match | |
|
||||
| test.rs:138:39:143:5 | BlockExpr | test.rs:138:5:143:5 | exit test_let_match (normal) | |
|
||||
| test.rs:139:9:141:10 | LetStmt | test.rs:139:23:139:23 | PathExpr | |
|
||||
| test.rs:139:13:139:19 | TupleStructPat | test.rs:140:13:140:27 | LiteralExpr | no-match |
|
||||
| test.rs:139:13:139:19 | TupleStructPat | test.rs:142:9:142:9 | PathExpr | match |
|
||||
| test.rs:139:23:139:23 | PathExpr | test.rs:139:13:139:19 | TupleStructPat | |
|
||||
| test.rs:140:13:140:27 | LiteralExpr | test.rs:139:30:141:9 | BlockExpr | |
|
||||
| test.rs:142:9:142:9 | PathExpr | test.rs:138:39:143:5 | BlockExpr | |
|
||||
|
|
|
@ -8,8 +8,6 @@ import TestUtils
|
|||
|
||||
class MyRelevantNode extends CfgNode {
|
||||
MyRelevantNode() { toBeTested(this.getScope()) }
|
||||
|
||||
string getOrderDisambiguation() { result = "" }
|
||||
}
|
||||
|
||||
import codeql.rust.controlflow.internal.ControlFlowGraphImpl::TestOutput<MyRelevantNode>
|
||||
|
|
|
@ -1134,66 +1134,38 @@ module Make<LocationSig Location, InputSig<Location> Input> {
|
|||
final class AstCfgNode = AstCfgNodeImpl;
|
||||
|
||||
/** A node to be included in the output of `TestOutput`. */
|
||||
signature class RelevantNodeSig extends Node {
|
||||
/**
|
||||
* Gets a string used to resolve ties in node and edge ordering.
|
||||
*/
|
||||
string getOrderDisambiguation();
|
||||
}
|
||||
signature class RelevantNodeSig extends Node;
|
||||
|
||||
/**
|
||||
* Import this module into a `.ql` file of `@kind graph` to render a CFG. The
|
||||
* Import this module into a `.ql` file to output a CFG. The
|
||||
* graph is restricted to nodes from `RelevantNode`.
|
||||
*/
|
||||
module TestOutput<RelevantNodeSig RelevantNode> {
|
||||
/** Holds if `n` is a relevant node in the CFG. */
|
||||
query predicate nodes(RelevantNode n, string attr, string val) {
|
||||
attr = "semmle.order" and
|
||||
val =
|
||||
any(int i |
|
||||
n =
|
||||
rank[i](RelevantNode p, string filePath, int startLine, int startColumn, int endLine,
|
||||
int endColumn |
|
||||
p.getLocation().hasLocationInfo(filePath, startLine, startColumn, endLine, endColumn)
|
||||
|
|
||||
p
|
||||
order by
|
||||
filePath, startLine, startColumn, endLine, endColumn, p.toString(),
|
||||
p.getOrderDisambiguation()
|
||||
)
|
||||
).toString()
|
||||
}
|
||||
|
||||
/** Holds if `pred -> succ` is an edge in the CFG. */
|
||||
query predicate edges(RelevantNode pred, RelevantNode succ, string attr, string val) {
|
||||
attr = "semmle.label" and
|
||||
val =
|
||||
query predicate edges(RelevantNode pred, RelevantNode succ, string label) {
|
||||
label =
|
||||
strictconcat(SuccessorType t, string s |
|
||||
succ = getASuccessor(pred, t) and
|
||||
if successorTypeIsSimple(t) then s = "" else s = t.toString()
|
||||
|
|
||||
s, ", " order by s
|
||||
)
|
||||
or
|
||||
attr = "semmle.order" and
|
||||
val =
|
||||
any(int i |
|
||||
succ =
|
||||
rank[i](RelevantNode s, SuccessorType t, string filePath, int startLine,
|
||||
int startColumn, int endLine, int endColumn |
|
||||
s = getASuccessor(pred, t) and
|
||||
s.getLocation().hasLocationInfo(filePath, startLine, startColumn, endLine, endColumn)
|
||||
|
|
||||
s
|
||||
order by
|
||||
filePath, startLine, startColumn, endLine, endColumn, t.toString(), s.toString(),
|
||||
s.getOrderDisambiguation()
|
||||
)
|
||||
).toString()
|
||||
}
|
||||
|
||||
module Mermaid {
|
||||
private string nodeId(RelevantNode n) { nodes(n, "semmle.order", result) }
|
||||
private string nodeId(RelevantNode n) {
|
||||
result =
|
||||
any(int i |
|
||||
n =
|
||||
rank[i](RelevantNode p, string filePath, int startLine, int startColumn, int endLine,
|
||||
int endColumn |
|
||||
p.getLocation()
|
||||
.hasLocationInfo(filePath, startLine, startColumn, endLine, endColumn)
|
||||
|
|
||||
p order by filePath, startLine, startColumn, endLine, endColumn, p.toString()
|
||||
)
|
||||
).toString()
|
||||
}
|
||||
|
||||
private string nodes() {
|
||||
result =
|
||||
|
@ -1205,10 +1177,10 @@ module Make<LocationSig Location, InputSig<Location> Input> {
|
|||
)
|
||||
}
|
||||
|
||||
private string edge(RelevantNode pred, RelevantNode succ, string ord) {
|
||||
edges(pred, succ, "semmle.order", ord) and
|
||||
private string edge(RelevantNode pred, RelevantNode succ) {
|
||||
edges(pred, succ, _) and
|
||||
exists(string label |
|
||||
edges(pred, succ, "semmle.label", label) and
|
||||
edges(pred, succ, label) and
|
||||
if label = ""
|
||||
then result = nodeId(pred) + " --> " + nodeId(succ)
|
||||
else result = nodeId(pred) + " -- " + label + " --> " + nodeId(succ)
|
||||
|
@ -1217,10 +1189,14 @@ module Make<LocationSig Location, InputSig<Location> Input> {
|
|||
|
||||
private string edges() {
|
||||
result =
|
||||
concat(RelevantNode pred, RelevantNode succ, string edge, string ord |
|
||||
edge = edge(pred, succ, ord)
|
||||
concat(RelevantNode pred, RelevantNode succ, string edge, string filePath, int startLine,
|
||||
int startColumn, int endLine, int endColumn |
|
||||
edge = edge(pred, succ) and
|
||||
pred.getLocation().hasLocationInfo(filePath, startLine, startColumn, endLine, endColumn)
|
||||
|
|
||||
edge, "\n" order by ord
|
||||
edge, "\n"
|
||||
order by
|
||||
filePath, startLine, startColumn, endLine, endColumn, pred.toString()
|
||||
)
|
||||
}
|
||||
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -1,20 +1,8 @@
|
|||
/**
|
||||
* @kind graph
|
||||
*/
|
||||
|
||||
import swift
|
||||
import codeql.swift.controlflow.ControlFlowGraph
|
||||
|
||||
class MyRelevantNode extends ControlFlowNode {
|
||||
MyRelevantNode() { this.getScope().getLocation().getFile().getName().matches("%swift/ql/test%") }
|
||||
|
||||
private AstNode asAstNode() { result = this.getAstNode().asAstNode() }
|
||||
|
||||
string getOrderDisambiguation() {
|
||||
result = concat([this.asAstNode().getAPrimaryQlClass(), this.asAstNode().toString()], ",")
|
||||
or
|
||||
not exists(this.asAstNode()) and result = ""
|
||||
}
|
||||
}
|
||||
|
||||
import codeql.swift.controlflow.internal.ControlFlowGraphImpl::TestOutput<MyRelevantNode>
|
||||
|
|
Загрузка…
Ссылка в новой задаче