Skip to content

Commit 393c574

Browse files
committed
C#: Update tests and expected output.
1 parent 9b7da7c commit 393c574

3 files changed

Lines changed: 988 additions & 23 deletions

File tree

‎csharp/ql/test/library-tests/dataflow/tuples/DataFlowStep.expected‎

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,9 +187,14 @@
187187
| Tuples.cs:103:9:103:22 | ... = ... | Tuples.cs:103:9:103:22 | SSA def(b) |
188188
| Tuples.cs:103:9:103:22 | SSA def(a) | Tuples.cs:104:14:104:14 | access to local variable a |
189189
| Tuples.cs:103:9:103:22 | SSA def(b) | Tuples.cs:105:14:105:14 | access to local variable b |
190+
| Tuples.cs:103:22:103:22 | [deconstruct parameter 0] access to local variable r | Tuples.cs:103:9:103:22 | ... = ... |
191+
| Tuples.cs:103:22:103:22 | [deconstruct parameter 1] access to local variable r | Tuples.cs:103:9:103:22 | ... = ... |
192+
| Tuples.cs:103:22:103:22 | [post] access to local variable r | Tuples.cs:107:17:107:17 | access to local variable r |
190193
| Tuples.cs:103:22:103:22 | access to local variable r | Tuples.cs:103:9:103:18 | (..., ...) |
191194
| Tuples.cs:103:22:103:22 | access to local variable r | Tuples.cs:107:17:107:17 | access to local variable r |
192195
| Tuples.cs:105:14:105:14 | access to local variable b | Tuples.cs:105:14:105:14 | (...) ... |
196+
| Tuples.cs:107:17:107:17 | [deconstruct parameter 0] access to local variable r | Tuples.cs:109:23:109:23 | String x |
197+
| Tuples.cs:107:17:107:17 | [deconstruct parameter 1] access to local variable r | Tuples.cs:109:26:109:26 | Int32 y |
193198
| Tuples.cs:107:17:107:17 | access to local variable r | Tuples.cs:109:18:109:27 | (..., ...) |
194199
| Tuples.cs:109:23:109:23 | SSA def(x) | Tuples.cs:110:22:110:22 | access to local variable x |
195200
| Tuples.cs:109:23:109:23 | String x | Tuples.cs:109:23:109:23 | SSA def(x) |
@@ -306,6 +311,8 @@
306311
| Tuples.cs:180:9:180:24 | ... = ... | Tuples.cs:180:9:180:24 | SSA def(y1) |
307312
| Tuples.cs:180:9:180:24 | SSA def(x1) | Tuples.cs:181:14:181:15 | access to local variable x1 |
308313
| Tuples.cs:180:9:180:24 | SSA def(y1) | Tuples.cs:182:14:182:15 | access to local variable y1 |
314+
| Tuples.cs:180:24:180:24 | [deconstruct parameter 0] access to local variable r | Tuples.cs:180:9:180:24 | ... = ... |
315+
| Tuples.cs:180:24:180:24 | [deconstruct parameter 1] access to local variable r | Tuples.cs:180:9:180:24 | ... = ... |
309316
| Tuples.cs:180:24:180:24 | access to local variable r | Tuples.cs:180:9:180:20 | (..., ...) |
310317
| Tuples.cs:185:12:185:13 | this | Tuples.cs:185:12:185:13 | this access |
311318
| Tuples.cs:185:12:185:13 | this | Tuples.cs:185:22:185:23 | this |
@@ -337,6 +344,8 @@
337344
| Tuples.cs:200:9:200:22 | ... = ... | Tuples.cs:200:9:200:22 | SSA def(y) |
338345
| Tuples.cs:200:9:200:22 | SSA def(x) | Tuples.cs:201:14:201:14 | access to local variable x |
339346
| Tuples.cs:200:9:200:22 | SSA def(y) | Tuples.cs:202:14:202:14 | access to local variable y |
347+
| Tuples.cs:200:22:200:22 | [deconstruct parameter 0] access to local variable r | Tuples.cs:200:9:200:22 | ... = ... |
348+
| Tuples.cs:200:22:200:22 | [deconstruct parameter 1] access to local variable r | Tuples.cs:200:9:200:22 | ... = ... |
340349
| Tuples.cs:200:22:200:22 | access to local variable r | Tuples.cs:200:9:200:18 | (..., ...) |
341350
| Tuples.cs:205:12:205:13 | this | Tuples.cs:205:12:205:13 | this access |
342351
| Tuples.cs:205:12:205:13 | this | Tuples.cs:205:22:205:23 | this |
@@ -377,6 +386,8 @@
377386
| Tuples.cs:225:9:225:18 | SSA def(y) | Tuples.cs:227:14:227:14 | access to local variable y |
378387
| Tuples.cs:225:10:225:10 | access to local variable x | Tuples.cs:225:9:225:18 | SSA def(x) |
379388
| Tuples.cs:225:13:225:13 | access to local variable y | Tuples.cs:225:9:225:18 | SSA def(y) |
389+
| Tuples.cs:225:18:225:18 | [deconstruct parameter 0] access to local variable r | Tuples.cs:225:10:225:10 | access to local variable x |
390+
| Tuples.cs:225:18:225:18 | [deconstruct parameter 1] access to local variable r | Tuples.cs:225:13:225:13 | access to local variable y |
380391
| Tuples.cs:225:18:225:18 | access to local variable r | Tuples.cs:225:9:225:14 | (..., ...) |
381392
| Tuples.cs:232:13:232:14 | access to local variable o1 | Tuples.cs:232:13:232:35 | SSA def(o1) |
382393
| Tuples.cs:232:13:232:35 | SSA def(o1) | Tuples.cs:234:24:234:25 | access to local variable o1 |
@@ -391,6 +402,8 @@
391402
| Tuples.cs:234:17:234:30 | object creation of type R4 | Tuples.cs:234:13:234:13 | access to local variable r |
392403
| Tuples.cs:236:9:236:26 | ... = ... | Tuples.cs:236:9:236:26 | SSA def(x) |
393404
| Tuples.cs:236:9:236:26 | SSA def(x) | Tuples.cs:237:14:237:14 | access to local variable x |
405+
| Tuples.cs:236:26:236:26 | [deconstruct parameter 0] access to local variable r | Tuples.cs:236:9:236:26 | ... = ... |
406+
| Tuples.cs:236:26:236:26 | [deconstruct parameter 1] access to local variable r | Tuples.cs:236:9:236:26 | ... = ... |
394407
| Tuples.cs:236:26:236:26 | access to local variable r | Tuples.cs:236:9:236:22 | (..., ...) |
395408
| Tuples.cs:242:13:242:14 | access to local variable o1 | Tuples.cs:242:13:242:35 | SSA def(o1) |
396409
| Tuples.cs:242:13:242:35 | SSA def(o1) | Tuples.cs:244:24:244:25 | access to local variable o1 |
@@ -403,6 +416,8 @@
403416
| Tuples.cs:244:13:244:13 | access to local variable r | Tuples.cs:244:13:244:30 | SSA def(r) |
404417
| Tuples.cs:244:13:244:30 | SSA def(r) | Tuples.cs:246:13:246:13 | access to local variable r |
405418
| Tuples.cs:244:17:244:30 | object creation of type R4 | Tuples.cs:244:13:244:13 | access to local variable r |
419+
| Tuples.cs:246:13:246:13 | [deconstruct parameter 0] access to local variable r | Tuples.cs:246:23:246:23 | String x |
420+
| Tuples.cs:246:13:246:13 | [deconstruct parameter 1] access to local variable r | Tuples.cs:246:26:246:26 | String y |
406421
| Tuples.cs:246:13:246:13 | access to local variable r | Tuples.cs:246:18:246:27 | (..., ...) |
407422
| Tuples.cs:246:23:246:23 | SSA def(x) | Tuples.cs:248:18:248:18 | access to local variable x |
408423
| Tuples.cs:246:23:246:23 | String x | Tuples.cs:246:23:246:23 | SSA def(x) |
@@ -419,6 +434,8 @@
419434
| Tuples.cs:257:13:257:13 | access to local variable r | Tuples.cs:257:13:257:30 | SSA def(r) |
420435
| Tuples.cs:257:13:257:30 | SSA def(r) | Tuples.cs:259:13:259:13 | access to local variable r |
421436
| Tuples.cs:257:17:257:30 | object creation of type R4 | Tuples.cs:257:13:257:13 | access to local variable r |
437+
| Tuples.cs:259:13:259:13 | [deconstruct parameter 0] access to local variable r | Tuples.cs:259:19:259:23 | String x |
438+
| Tuples.cs:259:13:259:13 | [deconstruct parameter 1] access to local variable r | Tuples.cs:259:26:259:30 | String y |
422439
| Tuples.cs:259:13:259:13 | access to local variable r | Tuples.cs:259:18:259:31 | { ... } |
423440
| Tuples.cs:259:19:259:23 | SSA def(x) | Tuples.cs:261:18:261:18 | access to local variable x |
424441
| Tuples.cs:259:19:259:23 | String x | Tuples.cs:259:19:259:23 | SSA def(x) |
@@ -435,6 +452,8 @@
435452
| Tuples.cs:270:13:270:13 | access to local variable r | Tuples.cs:270:13:270:30 | SSA def(r) |
436453
| Tuples.cs:270:13:270:30 | SSA def(r) | Tuples.cs:272:17:272:17 | access to local variable r |
437454
| Tuples.cs:270:17:270:30 | object creation of type R4 | Tuples.cs:270:13:270:13 | access to local variable r |
455+
| Tuples.cs:272:17:272:17 | [deconstruct parameter 0] access to local variable r | Tuples.cs:275:23:275:23 | String x |
456+
| Tuples.cs:272:17:272:17 | [deconstruct parameter 1] access to local variable r | Tuples.cs:275:26:275:26 | String y |
438457
| Tuples.cs:272:17:272:17 | access to local variable r | Tuples.cs:275:18:275:27 | (..., ...) |
439458
| Tuples.cs:275:23:275:23 | SSA def(x) | Tuples.cs:276:22:276:22 | access to local variable x |
440459
| Tuples.cs:275:23:275:23 | String x | Tuples.cs:275:23:275:23 | SSA def(x) |
@@ -451,6 +470,8 @@
451470
| Tuples.cs:286:13:286:13 | access to local variable r | Tuples.cs:286:13:286:30 | SSA def(r) |
452471
| Tuples.cs:286:13:286:30 | SSA def(r) | Tuples.cs:288:17:288:17 | access to local variable r |
453472
| Tuples.cs:286:17:286:30 | object creation of type R4 | Tuples.cs:286:13:286:13 | access to local variable r |
473+
| Tuples.cs:288:17:288:17 | [deconstruct parameter 0] access to local variable r | Tuples.cs:290:19:290:23 | String x |
474+
| Tuples.cs:288:17:288:17 | [deconstruct parameter 1] access to local variable r | Tuples.cs:290:26:290:30 | String y |
454475
| Tuples.cs:288:17:288:17 | access to local variable r | Tuples.cs:290:18:290:31 | { ... } |
455476
| Tuples.cs:290:19:290:23 | SSA def(x) | Tuples.cs:291:22:291:22 | access to local variable x |
456477
| Tuples.cs:290:19:290:23 | String x | Tuples.cs:290:19:290:23 | SSA def(x) |
@@ -490,6 +511,8 @@
490511
| Tuples.cs:321:9:321:22 | ... = ... | Tuples.cs:321:9:321:22 | SSA def(y) |
491512
| Tuples.cs:321:9:321:22 | SSA def(x) | Tuples.cs:322:14:322:14 | access to local variable x |
492513
| Tuples.cs:321:9:321:22 | SSA def(y) | Tuples.cs:323:14:323:14 | access to local variable y |
514+
| Tuples.cs:321:22:321:22 | [deconstruct parameter 0] access to local variable c | Tuples.cs:321:9:321:22 | ... = ... |
515+
| Tuples.cs:321:22:321:22 | [deconstruct parameter 1] access to local variable c | Tuples.cs:321:9:321:22 | ... = ... |
493516
| Tuples.cs:321:22:321:22 | access to local variable c | Tuples.cs:321:9:321:18 | (..., ...) |
494517
| Tuples.cs:326:19:326:31 | this | Tuples.cs:326:19:326:31 | this access |
495518
| Tuples.cs:326:19:326:31 | this | Tuples.cs:326:44:326:45 | this |
@@ -512,5 +535,7 @@
512535
| Tuples.cs:334:9:334:22 | ... = ... | Tuples.cs:334:9:334:22 | SSA def(y) |
513536
| Tuples.cs:334:9:334:22 | SSA def(x) | Tuples.cs:335:14:335:14 | access to local variable x |
514537
| Tuples.cs:334:9:334:22 | SSA def(y) | Tuples.cs:336:14:336:14 | access to local variable y |
538+
| Tuples.cs:334:22:334:22 | [deconstruct parameter 0] access to local variable r | Tuples.cs:334:9:334:22 | ... = ... |
539+
| Tuples.cs:334:22:334:22 | [deconstruct parameter 1] access to local variable r | Tuples.cs:334:9:334:22 | ... = ... |
515540
| Tuples.cs:334:22:334:22 | access to local variable r | Tuples.cs:334:9:334:18 | (..., ...) |
516541
| Tuples.cs:346:18:346:31 | this | Tuples.cs:346:18:346:31 | this access |

‎csharp/ql/test/library-tests/dataflow/tuples/Tuples.cs‎

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -101,13 +101,13 @@ static void M5()
101101
Sink(r.i); // $ hasValueFlow=9
102102

103103
var (a, b) = r;
104-
Sink(a); // $ MISSING: hasValueFlow=9
104+
Sink(a); // $ hasValueFlow=9
105105
Sink(b);
106106

107107
switch (r)
108108
{
109109
case var (x, y):
110-
Sink(x); // $ MISSING: hasValueFlow=9
110+
Sink(x); // $ hasValueFlow=9
111111
Sink(y);
112112
break;
113113
}
@@ -178,8 +178,8 @@ static void M8()
178178
var r = new R2(o1, o2);
179179
// Implicit call to the compiler-generated Deconstruct method of R2
180180
var (x1, y1) = r;
181-
Sink(x1); // $ MISSING: hasValueFlow=16
182-
Sink(y1); // $ MISSING: hasValueFlow=17
181+
Sink(x1); // $ hasValueFlow=16
182+
Sink(y1); // $ hasValueFlow=17
183183
}
184184

185185
record R3(string X2, string Y2)
@@ -198,8 +198,8 @@ static void M9()
198198
var r = new R3(o1, o2);
199199
// Implicit call to the custom Deconstruct method of R3
200200
var (x, y) = r;
201-
Sink(x); // $ MISSING: hasValueFlow=19
202-
Sink(y); // $ MISSING: hasValueFlow=18
201+
Sink(x); // $ hasValueFlow=19
202+
Sink(y); // $ hasValueFlow=18
203203
}
204204

205205
record R4(string X3, string Y3);
@@ -211,8 +211,8 @@ static void M10()
211211
var r = new R4(o1, o2);
212212
// Explicit call to the compiler-generated Deconstruct method of R4
213213
r.Deconstruct(out var x3, out var y3);
214-
Sink(x3); // $ MISSING: hasValueFlow=20
215-
Sink(y3); // $ MISSING: hasValueFlow=21
214+
Sink(x3); // $ hasValueFlow=20
215+
Sink(y3); // $ hasValueFlow=21
216216
}
217217

218218
static void M11()
@@ -223,8 +223,8 @@ static void M11()
223223
var (x, y) = ("1", "2");
224224
// Using tuple deconstruction with an existing tuple variable.
225225
(x, y) = r;
226-
Sink(x); // $ MISSING: hasValueFlow=22
227-
Sink(y); // $ MISSING: hasValueFlow=23
226+
Sink(x); // $ hasValueFlow=22
227+
Sink(y); // $ hasValueFlow=23
228228
}
229229

230230
static void M12()
@@ -234,7 +234,7 @@ static void M12()
234234
var r = new R4(o1, o2);
235235
// Ignoring certain tuple elements.
236236
(var x, var _) = r;
237-
Sink(x); // $ MISSING: hasValueFlow=24
237+
Sink(x); // $ hasValueFlow=24
238238
}
239239

240240
static void M13()
@@ -245,8 +245,8 @@ static void M13()
245245
// Pattern matching with tuple deconstruction.
246246
if (r is var (x, y))
247247
{
248-
Sink(x); // $ MISSING: hasValueFlow=26
249-
Sink(y); // $ MISSING: hasValueFlow=27
248+
Sink(x); // $ hasValueFlow=26
249+
Sink(y); // $ hasValueFlow=27
250250
}
251251
}
252252

@@ -258,8 +258,8 @@ static void M14()
258258
// Pattern matching with positional pattern deconstruction in an is expression.
259259
if (r is (var x, var y))
260260
{
261-
Sink(x); // $ MISSING: hasValueFlow=28
262-
Sink(y); // $ MISSING: hasValueFlow=29
261+
Sink(x); // $ hasValueFlow=28
262+
Sink(y); // $ hasValueFlow=29
263263
}
264264
}
265265

@@ -273,8 +273,8 @@ static void M15()
273273
{
274274
// Pattern matching with tuple deconstruction in a switch statement.
275275
case var (x, y):
276-
Sink(x); // $ MISSING: hasValueFlow=30
277-
Sink(y); // $ MISSING: hasValueFlow=31
276+
Sink(x); // $ hasValueFlow=30
277+
Sink(y); // $ hasValueFlow=31
278278
break;
279279
}
280280
}
@@ -288,8 +288,8 @@ static void M16()
288288
switch (r)
289289
{
290290
case (var x, var y):
291-
Sink(x); // $ MISSING: hasValueFlow=32
292-
Sink(y); // $ MISSING: hasValueFlow=33
291+
Sink(x); // $ hasValueFlow=32
292+
Sink(y); // $ hasValueFlow=33
293293
break;
294294
}
295295
}
@@ -319,8 +319,8 @@ static void M17()
319319
var c = new C(o1, o2);
320320
// Implicit call to the custom Deconstruct method of C.
321321
var (x, y) = c;
322-
Sink(x); // $ MISSING: hasValueFlow=34
323-
Sink(y); // $ MISSING: hasValueFlow=35
322+
Sink(x); // $ hasValueFlow=34
323+
Sink(y); // $ hasValueFlow=35
324324
}
325325

326326
public record GenericRecord<T1, T2>(T1 t1, T2 t2);
@@ -332,8 +332,8 @@ static void M18()
332332
var r = new GenericRecord<string, string>(o1, o2);
333333
// Implicit call to the compiler-generated Deconstruct method of GenericRecord.
334334
var (x, y) = r;
335-
Sink(x); // $ MISSING: hasValueFlow=36
336-
Sink(y); // $ MISSING: hasValueFlow=37
335+
Sink(x); // $ hasValueFlow=36
336+
Sink(y); // $ hasValueFlow=37
337337
}
338338

339339
public static void Sink(object o) { }

0 commit comments

Comments
 (0)