@@ -163,112 +163,154 @@ Tuples.cs:
163
163
# 48| -1: [TypeMention] Void
164
164
# 49| 4: [BlockStmt] {...}
165
165
# 50| 0: [LocalVariableDeclStmt] ... ...;
166
- # 50| 0: [LocalVariableDeclAndInitExpr] (String,Int32,Int32) x = ...
167
- # 50| -1: [TypeMention] (string, int, int)
166
+ # 50| 0: [LocalVariableDeclAndInitExpr] (String,( Int32,String) ,Int32) x = ...
167
+ # 50| -1: [TypeMention] (string, ( int, string) , int)
168
168
# 50| 0: [LocalVariableAccess] access to local variable x
169
169
# 50| 1: [TupleExpr] (..., ...)
170
170
# 50| 0: [StringLiteral] "taint source"
171
- # 50| 1: [IntLiteral] 2
171
+ # 50| 1: [TupleExpr] (..., ...)
172
+ # 50| 0: [IntLiteral] 2
173
+ # 50| 1: [StringLiteral] "taint source"
172
174
# 50| 2: [IntLiteral] 3
173
175
# 51| 1: [SwitchStmt] switch (...) {...}
174
176
# 51| 0: [LocalVariableAccess] access to local variable x
175
177
# 53| 0: [CaseStmt] case ...:
176
- # 53| 0: [VariablePatternExpr] (String,Int32,Int32) t
177
- # 53| 0: [TypeMention] (string, int, int)
178
+ # 53| 0: [VariablePatternExpr] (String,( Int32,String) ,Int32) t
179
+ # 53| 0: [TypeMention] (string, ( int, string) , int)
178
180
# 53| 1: [TypeMention] string
179
- # 53| 2: [TypeMention] int
181
+ # 53| 2: [TypeMention] (int, string)
182
+ # 53| 1: [TypeMention] int
183
+ # 53| 2: [TypeMention] string
180
184
# 53| 3: [TypeMention] int
181
185
# 53| 1: [GTExpr] ... > ...
182
- # 53| 0: [FieldAccess] access to field Item2
186
+ # 53| 0: [FieldAccess] access to field Item3
183
187
# 53| -1: [LocalVariableAccess] access to local variable t
184
- # 53| 1: [IntLiteral] 10
185
- # 54| 1: [BreakStmt] break;
186
- # 55| 2: [CaseStmt] case ...:
187
- # 55| 0: [TupleExpr] (..., ...)
188
- # 55| 0: [LocalVariableDeclExpr] String a
189
- # 55| 1: [LocalVariableDeclExpr] Int32 b
190
- # 55| 2: [DiscardExpr] _
188
+ # 53| 1: [IntLiteral] 1
189
+ # 54| 1: [ExprStmt] ...;
190
+ # 54| 0: [MethodCall] call to method Sink
191
+ # 54| 0: [FieldAccess] access to field Item1
192
+ # 54| -1: [LocalVariableAccess] access to local variable t
193
+ # 55| 2: [ExprStmt] ...;
194
+ # 55| 0: [MethodCall] call to method Sink
195
+ # 55| 0: [FieldAccess] access to field Item2
196
+ # 55| -1: [FieldAccess] access to field Item2
197
+ # 55| -1: [LocalVariableAccess] access to local variable t
191
198
# 56| 3: [ExprStmt] ...;
192
199
# 56| 0: [MethodCall] call to method Sink
193
- # 56| 0: [LocalVariableAccess] access to local variable a
194
- # 57| 4: [ExprStmt] ...;
195
- # 57| 0: [MethodCall] call to method Sink
196
- # 57| 0: [LocalVariableAccess] access to local variable b
197
- # 58| 5: [BreakStmt] break;
198
- # 62| 9: [Record] R1
199
- # 62| 12: [NEOperator] !=
200
+ # 56| 0: [FieldAccess] access to field Item1
201
+ # 56| -1: [FieldAccess] access to field Item2
202
+ # 56| -1: [LocalVariableAccess] access to local variable t
203
+ # 57| 4: [BreakStmt] break;
204
+ # 58| 5: [CaseStmt] case ...:
205
+ # 58| 0: [TupleExpr] (..., ...)
206
+ # 58| 0: [LocalVariableDeclExpr] String a
207
+ # 58| 1: [TupleExpr] (..., ...)
208
+ # 58| 0: [LocalVariableDeclExpr] Int32 b
209
+ # 58| 1: [LocalVariableDeclExpr] String c
210
+ # 58| 2: [DiscardExpr] _
211
+ # 59| 6: [ExprStmt] ...;
212
+ # 59| 0: [MethodCall] call to method Sink
213
+ # 59| 0: [LocalVariableAccess] access to local variable a
214
+ # 60| 7: [ExprStmt] ...;
215
+ # 60| 0: [MethodCall] call to method Sink
216
+ # 60| 0: [LocalVariableAccess] access to local variable c
217
+ # 61| 8: [ExprStmt] ...;
218
+ # 61| 0: [MethodCall] call to method Sink
219
+ # 61| 0: [LocalVariableAccess] access to local variable b
220
+ # 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| 1: [TupleExpr] (..., ...)
225
+ # 65| 0: [LocalVariableDeclExpr] String p
226
+ # 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] !=
200
242
#-----| 2: (Parameters)
201
- # 62 | 0: [Parameter] r1
202
- # 62 | 1: [Parameter] r2
203
- # 62 | 13: [EQOperator] ==
243
+ # 73 | 0: [Parameter] r1
244
+ # 73 | 1: [Parameter] r2
245
+ # 73 | 13: [EQOperator] ==
204
246
#-----| 2: (Parameters)
205
- # 62 | 0: [Parameter] r1
206
- # 62 | 1: [Parameter] r2
207
- # 62 | 14: [Property] EqualityContract
208
- # 62 | 3: [Getter] get_EqualityContract
209
- # 62 | 15: [InstanceConstructor] R1
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
210
252
#-----| 2: (Parameters)
211
- # 62 | 0: [Parameter] i
212
- # 62 | -1: [TypeMention] string
213
- # 62 | 1: [Parameter] j
214
- # 62 | -1: [TypeMention] int
215
- # 62 | 16: [Property] i
216
- # 62 | 3: [Getter] get_i
217
- # 62 | 4: [Setter] set_i
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
218
260
#-----| 2: (Parameters)
219
- # 62 | 0: [Parameter] value
220
- # 62 | 17: [Property] j
221
- # 62 | 3: [Getter] get_j
222
- # 62 | 4: [Setter] set_j
261
+ # 73 | 0: [Parameter] value
262
+ # 73 | 17: [Property] j
263
+ # 73 | 3: [Getter] get_j
264
+ # 73 | 4: [Setter] set_j
223
265
#-----| 2: (Parameters)
224
- # 62 | 0: [Parameter] value
225
- # 64 | 10: [Method] M5
226
- # 64 | -1: [TypeMention] Void
227
- # 65 | 4: [BlockStmt] {...}
228
- # 66 | 0: [LocalVariableDeclStmt] ... ...;
229
- # 66 | 0: [LocalVariableDeclAndInitExpr] R1 r = ...
230
- # 66 | -1: [TypeMention] R1
231
- # 66 | 0: [LocalVariableAccess] access to local variable r
232
- # 66 | 1: [ObjectCreation] object creation of type R1
233
- # 66 | -1: [TypeMention] R1
234
- # 66 | 0: [StringLiteral] "taint source"
235
- # 66 | 1: [IntLiteral] 1
236
- # 67 | 1: [ExprStmt] ...;
237
- # 67 | 0: [MethodCall] call to method Sink
238
- # 67 | 0: [PropertyCall] access to property i
239
- # 67 | -1: [LocalVariableAccess] access to local variable r
240
- # 69 | 2: [ExprStmt] ...;
241
- # 69 | 0: [AssignExpr] ... = ...
242
- # 69 | 0: [TupleExpr] (..., ...)
243
- # 69 | 0: [LocalVariableDeclExpr] String a
244
- # 69 | 1: [LocalVariableDeclExpr] Int32 b
245
- # 69 | 1: [LocalVariableAccess] access to local variable r
246
- # 70 | 3: [ExprStmt] ...;
247
- # 70 | 0: [MethodCall] call to method Sink
248
- # 70 | 0: [LocalVariableAccess] access to local variable a
249
- # 71 | 4: [ExprStmt] ...;
250
- # 71 | 0: [MethodCall] call to method Sink
251
- # 71 | 0: [LocalVariableAccess] access to local variable b
252
- # 73 | 5: [SwitchStmt] switch (...) {...}
253
- # 73 | 0: [LocalVariableAccess] access to local variable r
254
- # 75 | 0: [CaseStmt] case ...:
255
- # 75 | 0: [TupleExpr] (..., ...)
256
- # 75 | 0: [LocalVariableDeclExpr] String x
257
- # 75 | 1: [LocalVariableDeclExpr] Int32 y
258
- # 76 | 1: [ExprStmt] ...;
259
- # 76 | 0: [MethodCall] call to method Sink
260
- # 76 | 0: [LocalVariableAccess] access to local variable x
261
- # 77 | 2: [ExprStmt] ...;
262
- # 77 | 0: [MethodCall] call to method Sink
263
- # 77 | 0: [LocalVariableAccess] access to local variable y
264
- # 78 | 3: [BreakStmt] break;
265
- # 82 | 11: [Method] Sink
266
- # 82 | -1: [TypeMention] Void
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
267
309
#-----| 1: (Type parameters)
268
- # 82 | 0: [TypeParameter] T
310
+ # 93 | 0: [TypeParameter] T
269
311
#-----| 2: (Parameters)
270
- # 82 | 0: [Parameter] x
271
- # 82 | -1: [TypeMention] T
272
- # 82 | 4: [BlockStmt] {...}
273
- # 85 | [NamespaceDeclaration] namespace ... { ... }
274
- # 87 | 1: [Class] IsExternalInit
312
+ # 93 | 0: [Parameter] x
313
+ # 93 | -1: [TypeMention] T
314
+ # 93 | 4: [BlockStmt] {...}
315
+ # 96 | [NamespaceDeclaration] namespace ... { ... }
316
+ # 98 | 1: [Class] IsExternalInit
0 commit comments