Skip to content

Commit 70c2cc5

Browse files
committed
C#: Add capture test for nested lambdas, commented out
Add a commented out version of the test, and modify the expected files to contain the same results at new offsets.
1 parent 92b94c1 commit 70c2cc5

File tree

8 files changed

+1004
-987
lines changed

8 files changed

+1004
-987
lines changed

csharp/ql/test/library-tests/dataflow/global/Capture.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,18 @@ void M()
4747
};
4848
};
4949
CaptureIn2NotCalled();
50+
/* void CaptureTest(string nonSink0, string sink39)
51+
{
52+
RunAction(() => // Check each lambda captures the correct arguments
53+
{
54+
Check(nonSink0);
55+
RunAction(() =>
56+
{
57+
Check(sink39);
58+
});
59+
});
60+
}
61+
CaptureTest("not tainted", tainted);*/
5062
}
5163

5264
void Out()
@@ -174,4 +186,9 @@ string Id(string s)
174186
}
175187

176188
static void Check<T>(T x) { }
189+
190+
/* static void RunAction(Action a)
191+
{
192+
a.Invoke();
193+
}*/
177194
}

csharp/ql/test/library-tests/dataflow/global/DataFlow.expected

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
| Capture.cs:12:19:12:24 | access to local variable sink27 |
22
| Capture.cs:21:23:21:28 | access to local variable sink28 |
33
| Capture.cs:30:19:30:24 | access to local variable sink29 |
4-
| Capture.cs:60:15:60:20 | access to local variable sink30 |
5-
| Capture.cs:72:15:72:20 | access to local variable sink31 |
6-
| Capture.cs:81:15:81:20 | access to local variable sink32 |
7-
| Capture.cs:109:15:109:20 | access to local variable sink33 |
8-
| Capture.cs:121:15:121:20 | access to local variable sink34 |
9-
| Capture.cs:130:15:130:20 | access to local variable sink35 |
10-
| Capture.cs:137:15:137:20 | access to local variable sink36 |
11-
| Capture.cs:145:15:145:20 | access to local variable sink37 |
12-
| Capture.cs:171:15:171:20 | access to local variable sink38 |
4+
| Capture.cs:72:15:72:20 | access to local variable sink30 |
5+
| Capture.cs:84:15:84:20 | access to local variable sink31 |
6+
| Capture.cs:93:15:93:20 | access to local variable sink32 |
7+
| Capture.cs:121:15:121:20 | access to local variable sink33 |
8+
| Capture.cs:133:15:133:20 | access to local variable sink34 |
9+
| Capture.cs:142:15:142:20 | access to local variable sink35 |
10+
| Capture.cs:149:15:149:20 | access to local variable sink36 |
11+
| Capture.cs:157:15:157:20 | access to local variable sink37 |
12+
| Capture.cs:183:15:183:20 | access to local variable sink38 |
1313
| GlobalDataFlow.cs:18:15:18:29 | access to field SinkField0 |
1414
| GlobalDataFlow.cs:26:15:26:32 | access to property SinkProperty0 |
1515
| GlobalDataFlow.cs:44:50:44:59 | access to parameter sinkParam2 |

csharp/ql/test/library-tests/dataflow/global/DataFlowEdges.expected

Lines changed: 405 additions & 405 deletions
Large diffs are not rendered by default.

csharp/ql/test/library-tests/dataflow/global/DataFlowPath.expected

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -8,33 +8,33 @@ edges
88
| Capture.cs:25:9:25:20 | [implicit argument] tainted | Capture.cs:18:13:22:13 | SSA capture def(tainted) |
99
| Capture.cs:27:43:32:9 | SSA capture def(tainted) | Capture.cs:30:19:30:24 | access to local variable sink29 |
1010
| Capture.cs:33:9:33:40 | [implicit argument] tainted | Capture.cs:27:43:32:9 | SSA capture def(tainted) |
11-
| Capture.cs:57:13:57:35 | SSA def(sink30) | Capture.cs:59:9:59:21 | SSA call def(sink30) |
12-
| Capture.cs:57:22:57:35 | "taint source" | Capture.cs:57:13:57:35 | SSA def(sink30) |
13-
| Capture.cs:59:9:59:21 | SSA call def(sink30) | Capture.cs:60:15:60:20 | access to local variable sink30 |
14-
| Capture.cs:67:17:67:39 | SSA def(sink31) | Capture.cs:71:9:71:21 | SSA call def(sink31) |
15-
| Capture.cs:67:26:67:39 | "taint source" | Capture.cs:67:17:67:39 | SSA def(sink31) |
16-
| Capture.cs:71:9:71:21 | SSA call def(sink31) | Capture.cs:72:15:72:20 | access to local variable sink31 |
17-
| Capture.cs:77:13:77:35 | SSA def(sink32) | Capture.cs:80:9:80:41 | SSA call def(sink32) |
18-
| Capture.cs:77:22:77:35 | "taint source" | Capture.cs:77:13:77:35 | SSA def(sink32) |
19-
| Capture.cs:80:9:80:41 | SSA call def(sink32) | Capture.cs:81:15:81:20 | access to local variable sink32 |
20-
| Capture.cs:101:25:101:31 | tainted | Capture.cs:108:9:108:25 | [implicit argument] tainted |
21-
| Capture.cs:101:25:101:31 | tainted | Capture.cs:120:9:120:25 | [implicit argument] tainted |
22-
| Capture.cs:101:25:101:31 | tainted | Capture.cs:129:9:129:45 | [implicit argument] tainted |
23-
| Capture.cs:101:25:101:31 | tainted | Capture.cs:136:22:136:38 | [implicit argument] tainted |
24-
| Capture.cs:101:25:101:31 | tainted | Capture.cs:144:25:144:31 | access to parameter tainted |
25-
| Capture.cs:101:25:101:31 | tainted | Capture.cs:170:25:170:31 | access to parameter tainted |
26-
| Capture.cs:108:9:108:25 | SSA call def(sink33) | Capture.cs:109:15:109:20 | access to local variable sink33 |
27-
| Capture.cs:108:9:108:25 | [implicit argument] tainted | Capture.cs:108:9:108:25 | SSA call def(sink33) |
28-
| Capture.cs:120:9:120:25 | SSA call def(sink34) | Capture.cs:121:15:121:20 | access to local variable sink34 |
29-
| Capture.cs:120:9:120:25 | [implicit argument] tainted | Capture.cs:120:9:120:25 | SSA call def(sink34) |
30-
| Capture.cs:129:9:129:45 | SSA call def(sink35) | Capture.cs:130:15:130:20 | access to local variable sink35 |
31-
| Capture.cs:129:9:129:45 | [implicit argument] tainted | Capture.cs:129:9:129:45 | SSA call def(sink35) |
32-
| Capture.cs:136:22:136:38 | [implicit argument] tainted | Capture.cs:136:22:136:38 | call to local function CaptureThrough4 |
33-
| Capture.cs:136:22:136:38 | call to local function CaptureThrough4 | Capture.cs:137:15:137:20 | access to local variable sink36 |
34-
| Capture.cs:144:9:144:32 | SSA call def(sink37) | Capture.cs:145:15:145:20 | access to local variable sink37 |
35-
| Capture.cs:144:25:144:31 | access to parameter tainted | Capture.cs:144:9:144:32 | SSA call def(sink37) |
36-
| Capture.cs:170:22:170:32 | call to local function Id | Capture.cs:171:15:171:20 | access to local variable sink38 |
37-
| Capture.cs:170:25:170:31 | access to parameter tainted | Capture.cs:170:22:170:32 | call to local function Id |
11+
| Capture.cs:69:13:69:35 | SSA def(sink30) | Capture.cs:71:9:71:21 | SSA call def(sink30) |
12+
| Capture.cs:69:22:69:35 | "taint source" | Capture.cs:69:13:69:35 | SSA def(sink30) |
13+
| Capture.cs:71:9:71:21 | SSA call def(sink30) | Capture.cs:72:15:72:20 | access to local variable sink30 |
14+
| Capture.cs:79:17:79:39 | SSA def(sink31) | Capture.cs:83:9:83:21 | SSA call def(sink31) |
15+
| Capture.cs:79:26:79:39 | "taint source" | Capture.cs:79:17:79:39 | SSA def(sink31) |
16+
| Capture.cs:83:9:83:21 | SSA call def(sink31) | Capture.cs:84:15:84:20 | access to local variable sink31 |
17+
| Capture.cs:89:13:89:35 | SSA def(sink32) | Capture.cs:92:9:92:41 | SSA call def(sink32) |
18+
| Capture.cs:89:22:89:35 | "taint source" | Capture.cs:89:13:89:35 | SSA def(sink32) |
19+
| Capture.cs:92:9:92:41 | SSA call def(sink32) | Capture.cs:93:15:93:20 | access to local variable sink32 |
20+
| Capture.cs:113:25:113:31 | tainted | Capture.cs:120:9:120:25 | [implicit argument] tainted |
21+
| Capture.cs:113:25:113:31 | tainted | Capture.cs:132:9:132:25 | [implicit argument] tainted |
22+
| Capture.cs:113:25:113:31 | tainted | Capture.cs:141:9:141:45 | [implicit argument] tainted |
23+
| Capture.cs:113:25:113:31 | tainted | Capture.cs:148:22:148:38 | [implicit argument] tainted |
24+
| Capture.cs:113:25:113:31 | tainted | Capture.cs:156:25:156:31 | access to parameter tainted |
25+
| Capture.cs:113:25:113:31 | tainted | Capture.cs:182:25:182:31 | access to parameter tainted |
26+
| Capture.cs:120:9:120:25 | SSA call def(sink33) | Capture.cs:121:15:121:20 | access to local variable sink33 |
27+
| Capture.cs:120:9:120:25 | [implicit argument] tainted | Capture.cs:120:9:120:25 | SSA call def(sink33) |
28+
| Capture.cs:132:9:132:25 | SSA call def(sink34) | Capture.cs:133:15:133:20 | access to local variable sink34 |
29+
| Capture.cs:132:9:132:25 | [implicit argument] tainted | Capture.cs:132:9:132:25 | SSA call def(sink34) |
30+
| Capture.cs:141:9:141:45 | SSA call def(sink35) | Capture.cs:142:15:142:20 | access to local variable sink35 |
31+
| Capture.cs:141:9:141:45 | [implicit argument] tainted | Capture.cs:141:9:141:45 | SSA call def(sink35) |
32+
| Capture.cs:148:22:148:38 | [implicit argument] tainted | Capture.cs:148:22:148:38 | call to local function CaptureThrough4 |
33+
| Capture.cs:148:22:148:38 | call to local function CaptureThrough4 | Capture.cs:149:15:149:20 | access to local variable sink36 |
34+
| Capture.cs:156:9:156:32 | SSA call def(sink37) | Capture.cs:157:15:157:20 | access to local variable sink37 |
35+
| Capture.cs:156:25:156:31 | access to parameter tainted | Capture.cs:156:9:156:32 | SSA call def(sink37) |
36+
| Capture.cs:182:22:182:32 | call to local function Id | Capture.cs:183:15:183:20 | access to local variable sink38 |
37+
| Capture.cs:182:25:182:31 | access to parameter tainted | Capture.cs:182:22:182:32 | call to local function Id |
3838
| GlobalDataFlow.cs:17:27:17:40 | "taint source" | GlobalDataFlow.cs:18:15:18:29 | access to field SinkField0 |
3939
| GlobalDataFlow.cs:17:27:17:40 | "taint source" | GlobalDataFlow.cs:26:15:26:32 | access to property SinkProperty0 |
4040
| GlobalDataFlow.cs:17:27:17:40 | "taint source" | GlobalDataFlow.cs:26:15:26:32 | access to property SinkProperty0 |
@@ -210,15 +210,15 @@ edges
210210
| Capture.cs:21:23:21:28 | access to local variable sink28 | Capture.cs:7:20:7:26 | tainted | Capture.cs:21:23:21:28 | access to local variable sink28 | access to local variable sink28 |
211211
| Capture.cs:30:19:30:24 | access to local variable sink29 | Capture.cs:7:20:7:26 | tainted | Capture.cs:30:19:30:24 | access to local variable sink29 | access to local variable sink29 |
212212
| GlobalDataFlow.cs:79:15:79:19 | access to local variable sink3 | GlobalDataFlow.cs:17:27:17:40 | "taint source" | GlobalDataFlow.cs:79:15:79:19 | access to local variable sink3 | access to local variable sink3 |
213-
| Capture.cs:60:15:60:20 | access to local variable sink30 | Capture.cs:57:22:57:35 | "taint source" | Capture.cs:60:15:60:20 | access to local variable sink30 | access to local variable sink30 |
214-
| Capture.cs:72:15:72:20 | access to local variable sink31 | Capture.cs:67:26:67:39 | "taint source" | Capture.cs:72:15:72:20 | access to local variable sink31 | access to local variable sink31 |
215-
| Capture.cs:81:15:81:20 | access to local variable sink32 | Capture.cs:77:22:77:35 | "taint source" | Capture.cs:81:15:81:20 | access to local variable sink32 | access to local variable sink32 |
216-
| Capture.cs:109:15:109:20 | access to local variable sink33 | Capture.cs:101:25:101:31 | tainted | Capture.cs:109:15:109:20 | access to local variable sink33 | access to local variable sink33 |
217-
| Capture.cs:121:15:121:20 | access to local variable sink34 | Capture.cs:101:25:101:31 | tainted | Capture.cs:121:15:121:20 | access to local variable sink34 | access to local variable sink34 |
218-
| Capture.cs:130:15:130:20 | access to local variable sink35 | Capture.cs:101:25:101:31 | tainted | Capture.cs:130:15:130:20 | access to local variable sink35 | access to local variable sink35 |
219-
| Capture.cs:137:15:137:20 | access to local variable sink36 | Capture.cs:101:25:101:31 | tainted | Capture.cs:137:15:137:20 | access to local variable sink36 | access to local variable sink36 |
220-
| Capture.cs:145:15:145:20 | access to local variable sink37 | Capture.cs:101:25:101:31 | tainted | Capture.cs:145:15:145:20 | access to local variable sink37 | access to local variable sink37 |
221-
| Capture.cs:171:15:171:20 | access to local variable sink38 | Capture.cs:101:25:101:31 | tainted | Capture.cs:171:15:171:20 | access to local variable sink38 | access to local variable sink38 |
213+
| Capture.cs:72:15:72:20 | access to local variable sink30 | Capture.cs:69:22:69:35 | "taint source" | Capture.cs:72:15:72:20 | access to local variable sink30 | access to local variable sink30 |
214+
| Capture.cs:84:15:84:20 | access to local variable sink31 | Capture.cs:79:26:79:39 | "taint source" | Capture.cs:84:15:84:20 | access to local variable sink31 | access to local variable sink31 |
215+
| Capture.cs:93:15:93:20 | access to local variable sink32 | Capture.cs:89:22:89:35 | "taint source" | Capture.cs:93:15:93:20 | access to local variable sink32 | access to local variable sink32 |
216+
| Capture.cs:121:15:121:20 | access to local variable sink33 | Capture.cs:113:25:113:31 | tainted | Capture.cs:121:15:121:20 | access to local variable sink33 | access to local variable sink33 |
217+
| Capture.cs:133:15:133:20 | access to local variable sink34 | Capture.cs:113:25:113:31 | tainted | Capture.cs:133:15:133:20 | access to local variable sink34 | access to local variable sink34 |
218+
| Capture.cs:142:15:142:20 | access to local variable sink35 | Capture.cs:113:25:113:31 | tainted | Capture.cs:142:15:142:20 | access to local variable sink35 | access to local variable sink35 |
219+
| Capture.cs:149:15:149:20 | access to local variable sink36 | Capture.cs:113:25:113:31 | tainted | Capture.cs:149:15:149:20 | access to local variable sink36 | access to local variable sink36 |
220+
| Capture.cs:157:15:157:20 | access to local variable sink37 | Capture.cs:113:25:113:31 | tainted | Capture.cs:157:15:157:20 | access to local variable sink37 | access to local variable sink37 |
221+
| Capture.cs:183:15:183:20 | access to local variable sink38 | Capture.cs:113:25:113:31 | tainted | Capture.cs:183:15:183:20 | access to local variable sink38 | access to local variable sink38 |
222222
| GlobalDataFlow.cs:136:15:136:19 | access to local variable sink4 | GlobalDataFlow.cs:17:27:17:40 | "taint source" | GlobalDataFlow.cs:136:15:136:19 | access to local variable sink4 | access to local variable sink4 |
223223
| GlobalDataFlow.cs:144:15:144:19 | access to local variable sink5 | GlobalDataFlow.cs:17:27:17:40 | "taint source" | GlobalDataFlow.cs:144:15:144:19 | access to local variable sink5 | access to local variable sink5 |
224224
| GlobalDataFlow.cs:154:15:154:19 | access to local variable sink6 | GlobalDataFlow.cs:318:16:318:29 | "taint source" | GlobalDataFlow.cs:154:15:154:19 | access to local variable sink6 | access to local variable sink6 |

csharp/ql/test/library-tests/dataflow/global/GetAnOutNode.expected

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,29 @@
22
| Capture.cs:33:9:33:40 | call to method Select | yield return | Capture.cs:33:9:33:40 | call to method Select |
33
| Capture.cs:33:9:33:50 | call to method ToArray | return | Capture.cs:33:9:33:50 | call to method ToArray |
44
| Capture.cs:33:30:33:39 | [implicit call] access to local variable captureIn3 | return | Capture.cs:33:30:33:39 | [output] access to local variable captureIn3 |
5-
| Capture.cs:59:9:59:21 | call to local function CaptureOut1 | captured sink30 | Capture.cs:59:9:59:21 | SSA call def(sink30) |
6-
| Capture.cs:71:9:71:21 | [transitive] call to local function CaptureOut2 | captured sink31 | Capture.cs:71:9:71:21 | SSA call def(sink31) |
7-
| Capture.cs:71:9:71:21 | call to local function CaptureOut2 | captured sink31 | Capture.cs:71:9:71:21 | SSA call def(sink31) |
8-
| Capture.cs:80:9:80:41 | call to method Select | captured sink32 | Capture.cs:80:9:80:41 | SSA call def(sink32) |
9-
| Capture.cs:80:9:80:41 | call to method Select | return | Capture.cs:80:9:80:41 | call to method Select |
10-
| Capture.cs:80:9:80:41 | call to method Select | yield return | Capture.cs:80:9:80:41 | call to method Select |
11-
| Capture.cs:80:9:80:51 | call to method ToArray | return | Capture.cs:80:9:80:51 | call to method ToArray |
12-
| Capture.cs:80:30:80:40 | [implicit call] access to local variable captureOut3 | captured sink32 | Capture.cs:80:9:80:41 | SSA call def(sink32) |
13-
| Capture.cs:80:30:80:40 | [implicit call] access to local variable captureOut3 | return | Capture.cs:80:30:80:40 | [output] access to local variable captureOut3 |
14-
| Capture.cs:108:9:108:25 | call to local function CaptureThrough1 | captured sink33 | Capture.cs:108:9:108:25 | SSA call def(sink33) |
15-
| Capture.cs:120:9:120:25 | [transitive] call to local function CaptureThrough2 | captured sink34 | Capture.cs:120:9:120:25 | SSA call def(sink34) |
16-
| Capture.cs:120:9:120:25 | call to local function CaptureThrough2 | captured sink34 | Capture.cs:120:9:120:25 | SSA call def(sink34) |
17-
| Capture.cs:129:9:129:45 | call to method Select | captured sink35 | Capture.cs:129:9:129:45 | SSA call def(sink35) |
18-
| Capture.cs:129:9:129:45 | call to method Select | return | Capture.cs:129:9:129:45 | call to method Select |
19-
| Capture.cs:129:9:129:45 | call to method Select | yield return | Capture.cs:129:9:129:45 | call to method Select |
20-
| Capture.cs:129:9:129:55 | call to method ToArray | return | Capture.cs:129:9:129:55 | call to method ToArray |
21-
| Capture.cs:129:30:129:44 | [implicit call] access to local variable captureThrough3 | captured sink35 | Capture.cs:129:9:129:45 | SSA call def(sink35) |
22-
| Capture.cs:129:30:129:44 | [implicit call] access to local variable captureThrough3 | return | Capture.cs:129:30:129:44 | [output] access to local variable captureThrough3 |
23-
| Capture.cs:136:22:136:38 | call to local function CaptureThrough4 | return | Capture.cs:136:22:136:38 | call to local function CaptureThrough4 |
24-
| Capture.cs:144:9:144:32 | call to local function CaptureThrough5 | captured sink37 | Capture.cs:144:9:144:32 | SSA call def(sink37) |
25-
| Capture.cs:167:20:167:22 | call to local function M | return | Capture.cs:167:20:167:22 | call to local function M |
26-
| Capture.cs:170:22:170:32 | call to local function Id | return | Capture.cs:170:22:170:32 | call to local function Id |
27-
| Capture.cs:172:20:172:25 | call to local function Id | return | Capture.cs:172:20:172:25 | call to local function Id |
5+
| Capture.cs:71:9:71:21 | call to local function CaptureOut1 | captured sink30 | Capture.cs:71:9:71:21 | SSA call def(sink30) |
6+
| Capture.cs:83:9:83:21 | [transitive] call to local function CaptureOut2 | captured sink31 | Capture.cs:83:9:83:21 | SSA call def(sink31) |
7+
| Capture.cs:83:9:83:21 | call to local function CaptureOut2 | captured sink31 | Capture.cs:83:9:83:21 | SSA call def(sink31) |
8+
| Capture.cs:92:9:92:41 | call to method Select | captured sink32 | Capture.cs:92:9:92:41 | SSA call def(sink32) |
9+
| Capture.cs:92:9:92:41 | call to method Select | return | Capture.cs:92:9:92:41 | call to method Select |
10+
| Capture.cs:92:9:92:41 | call to method Select | yield return | Capture.cs:92:9:92:41 | call to method Select |
11+
| Capture.cs:92:9:92:51 | call to method ToArray | return | Capture.cs:92:9:92:51 | call to method ToArray |
12+
| Capture.cs:92:30:92:40 | [implicit call] access to local variable captureOut3 | captured sink32 | Capture.cs:92:9:92:41 | SSA call def(sink32) |
13+
| Capture.cs:92:30:92:40 | [implicit call] access to local variable captureOut3 | return | Capture.cs:92:30:92:40 | [output] access to local variable captureOut3 |
14+
| Capture.cs:120:9:120:25 | call to local function CaptureThrough1 | captured sink33 | Capture.cs:120:9:120:25 | SSA call def(sink33) |
15+
| Capture.cs:132:9:132:25 | [transitive] call to local function CaptureThrough2 | captured sink34 | Capture.cs:132:9:132:25 | SSA call def(sink34) |
16+
| Capture.cs:132:9:132:25 | call to local function CaptureThrough2 | captured sink34 | Capture.cs:132:9:132:25 | SSA call def(sink34) |
17+
| Capture.cs:141:9:141:45 | call to method Select | captured sink35 | Capture.cs:141:9:141:45 | SSA call def(sink35) |
18+
| Capture.cs:141:9:141:45 | call to method Select | return | Capture.cs:141:9:141:45 | call to method Select |
19+
| Capture.cs:141:9:141:45 | call to method Select | yield return | Capture.cs:141:9:141:45 | call to method Select |
20+
| Capture.cs:141:9:141:55 | call to method ToArray | return | Capture.cs:141:9:141:55 | call to method ToArray |
21+
| Capture.cs:141:30:141:44 | [implicit call] access to local variable captureThrough3 | captured sink35 | Capture.cs:141:9:141:45 | SSA call def(sink35) |
22+
| Capture.cs:141:30:141:44 | [implicit call] access to local variable captureThrough3 | return | Capture.cs:141:30:141:44 | [output] access to local variable captureThrough3 |
23+
| Capture.cs:148:22:148:38 | call to local function CaptureThrough4 | return | Capture.cs:148:22:148:38 | call to local function CaptureThrough4 |
24+
| Capture.cs:156:9:156:32 | call to local function CaptureThrough5 | captured sink37 | Capture.cs:156:9:156:32 | SSA call def(sink37) |
25+
| Capture.cs:179:20:179:22 | call to local function M | return | Capture.cs:179:20:179:22 | call to local function M |
26+
| Capture.cs:182:22:182:32 | call to local function Id | return | Capture.cs:182:22:182:32 | call to local function Id |
27+
| Capture.cs:184:20:184:25 | call to local function Id | return | Capture.cs:184:20:184:25 | call to local function Id |
2828
| GlobalDataFlow.cs:25:9:25:26 | access to property SinkProperty0 | return | GlobalDataFlow.cs:25:9:25:26 | access to property SinkProperty0 |
2929
| GlobalDataFlow.cs:26:15:26:32 | access to property SinkProperty0 | return | GlobalDataFlow.cs:26:15:26:32 | access to property SinkProperty0 |
3030
| GlobalDataFlow.cs:29:9:29:29 | access to property NonSinkProperty0 | return | GlobalDataFlow.cs:29:9:29:29 | access to property NonSinkProperty0 |

0 commit comments

Comments
 (0)