@@ -161,6 +161,9 @@ Tuples.cs:
161
161
# 45| -1: [LocalVariableAccess] access to local variable y
162
162
# 48| 8: [Method] M4
163
163
# 48| -1: [TypeMention] Void
164
+ #-----| 2: (Parameters)
165
+ # 48| 0: [Parameter] s
166
+ # 48| -1: [TypeMention] string
164
167
# 49| 4: [BlockStmt] {...}
165
168
# 50| 0: [LocalVariableDeclStmt] ... ...;
166
169
# 50| 0: [LocalVariableDeclAndInitExpr] (String,(Int32,String),Int32) x = ...
@@ -218,99 +221,140 @@ Tuples.cs:
218
221
# 61| 0: [MethodCall] call to method Sink
219
222
# 61| 0: [LocalVariableAccess] access to local variable b
220
223
# 62| 9: [BreakStmt] break;
221
- # 65| 2: [IfStmt] if (...) ...
222
- # 65| 0: [IsExpr] ... is ...
223
- # 65| 0: [LocalVariableAccess] access to local variable x
224
+ # 65| 2: [LocalVariableDeclStmt] ... ...;
225
+ # 65| 0: [LocalVariableDeclAndInitExpr] (String,(Int32,String),Int32) y = ...
226
+ # 65| -1: [TypeMention] (string, (int, string), int)
227
+ # 65| 0: [LocalVariableAccess] access to local variable y
224
228
# 65| 1: [TupleExpr] (..., ...)
225
- # 65| 0: [LocalVariableDeclExpr] String p
229
+ # 65| 0: [ParameterAccess] access to parameter s
226
230
# 65| 1: [TupleExpr] (..., ...)
227
- # 65| 0: [LocalVariableDeclExpr] Int32 q
228
- # 65| 1: [LocalVariableDeclExpr] String r
229
- # 65| 2: [DiscardExpr] _
230
- # 66| 1: [BlockStmt] {...}
231
- # 67| 0: [ExprStmt] ...;
232
- # 67| 0: [MethodCall] call to method Sink
233
- # 67| 0: [LocalVariableAccess] access to local variable p
234
- # 68| 1: [ExprStmt] ...;
235
- # 68| 0: [MethodCall] call to method Sink
236
- # 68| 0: [LocalVariableAccess] access to local variable r
237
- # 69| 2: [ExprStmt] ...;
238
- # 69| 0: [MethodCall] call to method Sink
239
- # 69| 0: [LocalVariableAccess] access to local variable q
240
- # 73| 9: [Record] R1
241
- # 73| 12: [NEOperator] !=
231
+ # 65| 0: [IntLiteral] 2
232
+ # 65| 1: [ParameterAccess] access to parameter s
233
+ # 65| 2: [IntLiteral] 3
234
+ # 66| 3: [SwitchStmt] switch (...) {...}
235
+ # 66| 0: [LocalVariableAccess] access to local variable y
236
+ # 68| 0: [CaseStmt] case ...:
237
+ # 68| 0: [RecursivePatternExpr] { ... }
238
+ # 68| 2: [PositionalPatternExpr] ( ... )
239
+ # 68| 0: [ConstantPatternExpr,StringLiteral] "taint source"
240
+ # 68| 1: [TupleExpr] (..., ...)
241
+ # 68| 0: [LocalVariableDeclExpr] Int32 b
242
+ # 68| 1: [LocalVariableDeclExpr] String c
243
+ # 68| 2: [DiscardPatternExpr] _
244
+ # 69| 1: [ExprStmt] ...;
245
+ # 69| 0: [MethodCall] call to method Sink
246
+ # 69| 0: [FieldAccess] access to field Item1
247
+ # 69| -1: [LocalVariableAccess] access to local variable y
248
+ # 70| 2: [ExprStmt] ...;
249
+ # 70| 0: [MethodCall] call to method Sink
250
+ # 70| 0: [FieldAccess] access to field Item2
251
+ # 70| -1: [FieldAccess] access to field Item2
252
+ # 70| -1: [LocalVariableAccess] access to local variable y
253
+ # 71| 3: [ExprStmt] ...;
254
+ # 71| 0: [MethodCall] call to method Sink
255
+ # 71| 0: [LocalVariableAccess] access to local variable c
256
+ # 72| 4: [ExprStmt] ...;
257
+ # 72| 0: [MethodCall] call to method Sink
258
+ # 72| 0: [FieldAccess] access to field Item1
259
+ # 72| -1: [FieldAccess] access to field Item2
260
+ # 72| -1: [LocalVariableAccess] access to local variable y
261
+ # 73| 5: [ExprStmt] ...;
262
+ # 73| 0: [MethodCall] call to method Sink
263
+ # 73| 0: [LocalVariableAccess] access to local variable b
264
+ # 74| 6: [BreakStmt] break;
265
+ # 77| 4: [IfStmt] if (...) ...
266
+ # 77| 0: [IsExpr] ... is ...
267
+ # 77| 0: [LocalVariableAccess] access to local variable x
268
+ # 77| 1: [TupleExpr] (..., ...)
269
+ # 77| 0: [LocalVariableDeclExpr] String p
270
+ # 77| 1: [TupleExpr] (..., ...)
271
+ # 77| 0: [LocalVariableDeclExpr] Int32 q
272
+ # 77| 1: [LocalVariableDeclExpr] String r
273
+ # 77| 2: [DiscardExpr] _
274
+ # 78| 1: [BlockStmt] {...}
275
+ # 79| 0: [ExprStmt] ...;
276
+ # 79| 0: [MethodCall] call to method Sink
277
+ # 79| 0: [LocalVariableAccess] access to local variable p
278
+ # 80| 1: [ExprStmt] ...;
279
+ # 80| 0: [MethodCall] call to method Sink
280
+ # 80| 0: [LocalVariableAccess] access to local variable r
281
+ # 81| 2: [ExprStmt] ...;
282
+ # 81| 0: [MethodCall] call to method Sink
283
+ # 81| 0: [LocalVariableAccess] access to local variable q
284
+ # 85| 9: [Record] R1
285
+ # 85| 12: [NEOperator] !=
242
286
#-----| 2: (Parameters)
243
- # 73 | 0: [Parameter] r1
244
- # 73 | 1: [Parameter] r2
245
- # 73 | 13: [EQOperator] ==
287
+ # 85 | 0: [Parameter] r1
288
+ # 85 | 1: [Parameter] r2
289
+ # 85 | 13: [EQOperator] ==
246
290
#-----| 2: (Parameters)
247
- # 73 | 0: [Parameter] r1
248
- # 73 | 1: [Parameter] r2
249
- # 73 | 14: [Property] EqualityContract
250
- # 73 | 3: [Getter] get_EqualityContract
251
- # 73 | 15: [InstanceConstructor] R1
291
+ # 85 | 0: [Parameter] r1
292
+ # 85 | 1: [Parameter] r2
293
+ # 85 | 14: [Property] EqualityContract
294
+ # 85 | 3: [Getter] get_EqualityContract
295
+ # 85 | 15: [InstanceConstructor] R1
252
296
#-----| 2: (Parameters)
253
- # 73 | 0: [Parameter] i
254
- # 73 | -1: [TypeMention] string
255
- # 73 | 1: [Parameter] j
256
- # 73 | -1: [TypeMention] int
257
- # 73 | 16: [Property] i
258
- # 73 | 3: [Getter] get_i
259
- # 73 | 4: [Setter] set_i
297
+ # 85 | 0: [Parameter] i
298
+ # 85 | -1: [TypeMention] string
299
+ # 85 | 1: [Parameter] j
300
+ # 85 | -1: [TypeMention] int
301
+ # 85 | 16: [Property] i
302
+ # 85 | 3: [Getter] get_i
303
+ # 85 | 4: [Setter] set_i
260
304
#-----| 2: (Parameters)
261
- # 73 | 0: [Parameter] value
262
- # 73 | 17: [Property] j
263
- # 73 | 3: [Getter] get_j
264
- # 73 | 4: [Setter] set_j
305
+ # 85 | 0: [Parameter] value
306
+ # 85 | 17: [Property] j
307
+ # 85 | 3: [Getter] get_j
308
+ # 85 | 4: [Setter] set_j
265
309
#-----| 2: (Parameters)
266
- # 73 | 0: [Parameter] value
267
- # 75 | 10: [Method] M5
268
- # 75 | -1: [TypeMention] Void
269
- # 76 | 4: [BlockStmt] {...}
270
- # 77 | 0: [LocalVariableDeclStmt] ... ...;
271
- # 77 | 0: [LocalVariableDeclAndInitExpr] R1 r = ...
272
- # 77 | -1: [TypeMention] R1
273
- # 77 | 0: [LocalVariableAccess] access to local variable r
274
- # 77 | 1: [ObjectCreation] object creation of type R1
275
- # 77 | -1: [TypeMention] R1
276
- # 77 | 0: [StringLiteral] "taint source"
277
- # 77 | 1: [IntLiteral] 1
278
- # 78 | 1: [ExprStmt] ...;
279
- # 78 | 0: [MethodCall] call to method Sink
280
- # 78 | 0: [PropertyCall] access to property i
281
- # 78 | -1: [LocalVariableAccess] access to local variable r
282
- # 80 | 2: [ExprStmt] ...;
283
- # 80 | 0: [AssignExpr] ... = ...
284
- # 80 | 0: [TupleExpr] (..., ...)
285
- # 80 | 0: [LocalVariableDeclExpr] String a
286
- # 80 | 1: [LocalVariableDeclExpr] Int32 b
287
- # 80 | 1: [LocalVariableAccess] access to local variable r
288
- # 81 | 3: [ExprStmt] ...;
289
- # 81 | 0: [MethodCall] call to method Sink
290
- # 81 | 0: [LocalVariableAccess] access to local variable a
291
- # 82 | 4: [ExprStmt] ...;
292
- # 82 | 0: [MethodCall] call to method Sink
293
- # 82 | 0: [LocalVariableAccess] access to local variable b
294
- # 84 | 5: [SwitchStmt] switch (...) {...}
295
- # 84 | 0: [LocalVariableAccess] access to local variable r
296
- # 86 | 0: [CaseStmt] case ...:
297
- # 86 | 0: [TupleExpr] (..., ...)
298
- # 86 | 0: [LocalVariableDeclExpr] String x
299
- # 86 | 1: [LocalVariableDeclExpr] Int32 y
300
- # 87 | 1: [ExprStmt] ...;
301
- # 87 | 0: [MethodCall] call to method Sink
302
- # 87 | 0: [LocalVariableAccess] access to local variable x
303
- # 88 | 2: [ExprStmt] ...;
304
- # 88 | 0: [MethodCall] call to method Sink
305
- # 88 | 0: [LocalVariableAccess] access to local variable y
306
- # 89 | 3: [BreakStmt] break;
307
- # 93 | 11: [Method] Sink
308
- # 93 | -1: [TypeMention] Void
310
+ # 85 | 0: [Parameter] value
311
+ # 87 | 10: [Method] M5
312
+ # 87 | -1: [TypeMention] Void
313
+ # 88 | 4: [BlockStmt] {...}
314
+ # 89 | 0: [LocalVariableDeclStmt] ... ...;
315
+ # 89 | 0: [LocalVariableDeclAndInitExpr] R1 r = ...
316
+ # 89 | -1: [TypeMention] R1
317
+ # 89 | 0: [LocalVariableAccess] access to local variable r
318
+ # 89 | 1: [ObjectCreation] object creation of type R1
319
+ # 89 | -1: [TypeMention] R1
320
+ # 89 | 0: [StringLiteral] "taint source"
321
+ # 89 | 1: [IntLiteral] 1
322
+ # 90 | 1: [ExprStmt] ...;
323
+ # 90 | 0: [MethodCall] call to method Sink
324
+ # 90 | 0: [PropertyCall] access to property i
325
+ # 90 | -1: [LocalVariableAccess] access to local variable r
326
+ # 92 | 2: [ExprStmt] ...;
327
+ # 92 | 0: [AssignExpr] ... = ...
328
+ # 92 | 0: [TupleExpr] (..., ...)
329
+ # 92 | 0: [LocalVariableDeclExpr] String a
330
+ # 92 | 1: [LocalVariableDeclExpr] Int32 b
331
+ # 92 | 1: [LocalVariableAccess] access to local variable r
332
+ # 93 | 3: [ExprStmt] ...;
333
+ # 93 | 0: [MethodCall] call to method Sink
334
+ # 93 | 0: [LocalVariableAccess] access to local variable a
335
+ # 94 | 4: [ExprStmt] ...;
336
+ # 94 | 0: [MethodCall] call to method Sink
337
+ # 94 | 0: [LocalVariableAccess] access to local variable b
338
+ # 96 | 5: [SwitchStmt] switch (...) {...}
339
+ # 96 | 0: [LocalVariableAccess] access to local variable r
340
+ # 98 | 0: [CaseStmt] case ...:
341
+ # 98 | 0: [TupleExpr] (..., ...)
342
+ # 98 | 0: [LocalVariableDeclExpr] String x
343
+ # 98 | 1: [LocalVariableDeclExpr] Int32 y
344
+ # 99 | 1: [ExprStmt] ...;
345
+ # 99 | 0: [MethodCall] call to method Sink
346
+ # 99 | 0: [LocalVariableAccess] access to local variable x
347
+ # 100 | 2: [ExprStmt] ...;
348
+ # 100 | 0: [MethodCall] call to method Sink
349
+ # 100 | 0: [LocalVariableAccess] access to local variable y
350
+ # 101 | 3: [BreakStmt] break;
351
+ # 105 | 11: [Method] Sink
352
+ # 105 | -1: [TypeMention] Void
309
353
#-----| 1: (Type parameters)
310
- # 93 | 0: [TypeParameter] T
354
+ # 105 | 0: [TypeParameter] T
311
355
#-----| 2: (Parameters)
312
- # 93 | 0: [Parameter] x
313
- # 93 | -1: [TypeMention] T
314
- # 93 | 4: [BlockStmt] {...}
315
- # 96 | [NamespaceDeclaration] namespace ... { ... }
316
- # 98 | 1: [Class] IsExternalInit
356
+ # 105 | 0: [Parameter] x
357
+ # 105 | -1: [TypeMention] T
358
+ # 105 | 4: [BlockStmt] {...}
359
+ # 108 | [NamespaceDeclaration] namespace ... { ... }
360
+ # 110 | 1: [Class] IsExternalInit
0 commit comments