mirror of
https://github.com/github/codeql.git
synced 2026-05-05 05:35:13 +02:00
This commit adds field initializers to the CFG for non-static constructors. For
example, in
```
class C
{
int Field1 = 0;
int Field2 = Field1 + 1;
int Field3;
public C()
{
Field3 = 2;
}
public C(int i)
{
Field3 = 3;
}
}
```
the initializer expressions `Field1 = 0` and `Field2 = Field1 + 1` are added
to the two constructors, mimicking
```
public C()
{
Field1 = 0;
Field2 = Field1 + 1;
Field3 = 2;
}
```
and
```
public C()
{
Field1 = 0;
Field2 = Field1 + 1;
Field3 = 3;
}
```
respectively. This means that we no longer have to synthesize calls, callables,
parameters, and arguments in the data flow library, so much of the work from
d1755500e4 can be simplified.
2930 lines
360 KiB
Plaintext
2930 lines
360 KiB
Plaintext
| AccessorCalls.cs:5:23:5:25 | enter get_Item | AccessorCalls.cs:5:30:5:30 | access to parameter i | semmle.label | successor |
|
|
| AccessorCalls.cs:5:30:5:30 | access to parameter i | AccessorCalls.cs:5:23:5:25 | exit get_Item | semmle.label | successor |
|
|
| AccessorCalls.cs:5:33:5:35 | enter set_Item | AccessorCalls.cs:5:37:5:39 | {...} | semmle.label | successor |
|
|
| AccessorCalls.cs:5:37:5:39 | {...} | AccessorCalls.cs:5:33:5:35 | exit set_Item | semmle.label | successor |
|
|
| AccessorCalls.cs:7:32:7:34 | enter add_Event | AccessorCalls.cs:7:36:7:38 | {...} | semmle.label | successor |
|
|
| AccessorCalls.cs:7:36:7:38 | {...} | AccessorCalls.cs:7:32:7:34 | exit add_Event | semmle.label | successor |
|
|
| AccessorCalls.cs:7:40:7:45 | enter remove_Event | AccessorCalls.cs:7:47:7:49 | {...} | semmle.label | successor |
|
|
| AccessorCalls.cs:7:47:7:49 | {...} | AccessorCalls.cs:7:40:7:45 | exit remove_Event | semmle.label | successor |
|
|
| AccessorCalls.cs:10:10:10:11 | enter M1 | AccessorCalls.cs:11:5:17:5 | {...} | semmle.label | successor |
|
|
| AccessorCalls.cs:11:5:17:5 | {...} | AccessorCalls.cs:12:9:12:32 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:12:9:12:12 | this access | AccessorCalls.cs:12:22:12:25 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:12:9:12:31 | ... = ... | AccessorCalls.cs:13:9:13:30 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:12:9:12:32 | ...; | AccessorCalls.cs:12:9:12:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:12:22:12:25 | this access | AccessorCalls.cs:12:22:12:31 | access to field Field | semmle.label | successor |
|
|
| AccessorCalls.cs:12:22:12:31 | access to field Field | AccessorCalls.cs:12:9:12:31 | ... = ... | semmle.label | successor |
|
|
| AccessorCalls.cs:13:9:13:12 | this access | AccessorCalls.cs:13:21:13:24 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:13:9:13:17 | access to property Prop | AccessorCalls.cs:13:9:13:29 | ... = ... | semmle.label | successor |
|
|
| AccessorCalls.cs:13:9:13:29 | ... = ... | AccessorCalls.cs:14:9:14:26 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:13:9:13:30 | ...; | AccessorCalls.cs:13:9:13:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:13:21:13:24 | this access | AccessorCalls.cs:13:21:13:29 | access to property Prop | semmle.label | successor |
|
|
| AccessorCalls.cs:13:21:13:29 | access to property Prop | AccessorCalls.cs:13:9:13:17 | access to property Prop | semmle.label | successor |
|
|
| AccessorCalls.cs:14:9:14:12 | this access | AccessorCalls.cs:14:14:14:14 | 0 | semmle.label | successor |
|
|
| AccessorCalls.cs:14:9:14:15 | access to indexer | AccessorCalls.cs:14:9:14:25 | ... = ... | semmle.label | successor |
|
|
| AccessorCalls.cs:14:9:14:25 | ... = ... | AccessorCalls.cs:15:9:15:24 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:14:9:14:26 | ...; | AccessorCalls.cs:14:9:14:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:14:14:14:14 | 0 | AccessorCalls.cs:14:19:14:22 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:14:19:14:22 | this access | AccessorCalls.cs:14:24:14:24 | 1 | semmle.label | successor |
|
|
| AccessorCalls.cs:14:19:14:25 | access to indexer | AccessorCalls.cs:14:9:14:15 | access to indexer | semmle.label | successor |
|
|
| AccessorCalls.cs:14:24:14:24 | 1 | AccessorCalls.cs:14:19:14:25 | access to indexer | semmle.label | successor |
|
|
| AccessorCalls.cs:15:9:15:12 | this access | AccessorCalls.cs:15:23:15:23 | access to parameter e | semmle.label | successor |
|
|
| AccessorCalls.cs:15:9:15:18 | access to event Event | AccessorCalls.cs:15:9:15:23 | ... += ... | semmle.label | successor |
|
|
| AccessorCalls.cs:15:9:15:23 | ... += ... | AccessorCalls.cs:16:9:16:24 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:15:9:15:24 | ...; | AccessorCalls.cs:15:9:15:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:15:23:15:23 | access to parameter e | AccessorCalls.cs:15:9:15:18 | access to event Event | semmle.label | successor |
|
|
| AccessorCalls.cs:16:9:16:12 | this access | AccessorCalls.cs:16:23:16:23 | access to parameter e | semmle.label | successor |
|
|
| AccessorCalls.cs:16:9:16:18 | access to event Event | AccessorCalls.cs:16:9:16:23 | ... -= ... | semmle.label | successor |
|
|
| AccessorCalls.cs:16:9:16:23 | ... -= ... | AccessorCalls.cs:10:10:10:11 | exit M1 | semmle.label | successor |
|
|
| AccessorCalls.cs:16:9:16:24 | ...; | AccessorCalls.cs:16:9:16:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:16:23:16:23 | access to parameter e | AccessorCalls.cs:16:9:16:18 | access to event Event | semmle.label | successor |
|
|
| AccessorCalls.cs:19:10:19:11 | enter M2 | AccessorCalls.cs:20:5:26:5 | {...} | semmle.label | successor |
|
|
| AccessorCalls.cs:20:5:26:5 | {...} | AccessorCalls.cs:21:9:21:36 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:21:9:21:12 | this access | AccessorCalls.cs:21:9:21:14 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:21:9:21:14 | access to field x | AccessorCalls.cs:21:24:21:27 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:21:9:21:35 | ... = ... | AccessorCalls.cs:22:9:22:34 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:21:9:21:36 | ...; | AccessorCalls.cs:21:9:21:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:21:24:21:27 | this access | AccessorCalls.cs:21:24:21:29 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:21:24:21:29 | access to field x | AccessorCalls.cs:21:24:21:35 | access to field Field | semmle.label | successor |
|
|
| AccessorCalls.cs:21:24:21:35 | access to field Field | AccessorCalls.cs:21:9:21:35 | ... = ... | semmle.label | successor |
|
|
| AccessorCalls.cs:22:9:22:12 | this access | AccessorCalls.cs:22:9:22:14 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:22:9:22:14 | access to field x | AccessorCalls.cs:22:23:22:26 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:22:9:22:19 | access to property Prop | AccessorCalls.cs:22:9:22:33 | ... = ... | semmle.label | successor |
|
|
| AccessorCalls.cs:22:9:22:33 | ... = ... | AccessorCalls.cs:23:9:23:30 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:22:9:22:34 | ...; | AccessorCalls.cs:22:9:22:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:22:23:22:26 | this access | AccessorCalls.cs:22:23:22:28 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:22:23:22:28 | access to field x | AccessorCalls.cs:22:23:22:33 | access to property Prop | semmle.label | successor |
|
|
| AccessorCalls.cs:22:23:22:33 | access to property Prop | AccessorCalls.cs:22:9:22:19 | access to property Prop | semmle.label | successor |
|
|
| AccessorCalls.cs:23:9:23:12 | this access | AccessorCalls.cs:23:9:23:14 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:23:9:23:14 | access to field x | AccessorCalls.cs:23:16:23:16 | 0 | semmle.label | successor |
|
|
| AccessorCalls.cs:23:9:23:17 | access to indexer | AccessorCalls.cs:23:9:23:29 | ... = ... | semmle.label | successor |
|
|
| AccessorCalls.cs:23:9:23:29 | ... = ... | AccessorCalls.cs:24:9:24:26 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:23:9:23:30 | ...; | AccessorCalls.cs:23:9:23:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:23:16:23:16 | 0 | AccessorCalls.cs:23:21:23:24 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:23:21:23:24 | this access | AccessorCalls.cs:23:21:23:26 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:23:21:23:26 | access to field x | AccessorCalls.cs:23:28:23:28 | 1 | semmle.label | successor |
|
|
| AccessorCalls.cs:23:21:23:29 | access to indexer | AccessorCalls.cs:23:9:23:17 | access to indexer | semmle.label | successor |
|
|
| AccessorCalls.cs:23:28:23:28 | 1 | AccessorCalls.cs:23:21:23:29 | access to indexer | semmle.label | successor |
|
|
| AccessorCalls.cs:24:9:24:12 | this access | AccessorCalls.cs:24:9:24:14 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:24:9:24:14 | access to field x | AccessorCalls.cs:24:25:24:25 | access to parameter e | semmle.label | successor |
|
|
| AccessorCalls.cs:24:9:24:20 | access to event Event | AccessorCalls.cs:24:9:24:25 | ... += ... | semmle.label | successor |
|
|
| AccessorCalls.cs:24:9:24:25 | ... += ... | AccessorCalls.cs:25:9:25:26 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:24:9:24:26 | ...; | AccessorCalls.cs:24:9:24:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:24:25:24:25 | access to parameter e | AccessorCalls.cs:24:9:24:20 | access to event Event | semmle.label | successor |
|
|
| AccessorCalls.cs:25:9:25:12 | this access | AccessorCalls.cs:25:9:25:14 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:25:9:25:14 | access to field x | AccessorCalls.cs:25:25:25:25 | access to parameter e | semmle.label | successor |
|
|
| AccessorCalls.cs:25:9:25:20 | access to event Event | AccessorCalls.cs:25:9:25:25 | ... -= ... | semmle.label | successor |
|
|
| AccessorCalls.cs:25:9:25:25 | ... -= ... | AccessorCalls.cs:19:10:19:11 | exit M2 | semmle.label | successor |
|
|
| AccessorCalls.cs:25:9:25:26 | ...; | AccessorCalls.cs:25:9:25:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:25:25:25:25 | access to parameter e | AccessorCalls.cs:25:9:25:20 | access to event Event | semmle.label | successor |
|
|
| AccessorCalls.cs:28:10:28:11 | enter M3 | AccessorCalls.cs:29:5:33:5 | {...} | semmle.label | successor |
|
|
| AccessorCalls.cs:29:5:33:5 | {...} | AccessorCalls.cs:30:9:30:21 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:30:9:30:12 | this access | AccessorCalls.cs:30:9:30:18 | access to field Field | semmle.label | successor |
|
|
| AccessorCalls.cs:30:9:30:18 | access to field Field | AccessorCalls.cs:30:9:30:20 | ...++ | semmle.label | successor |
|
|
| AccessorCalls.cs:30:9:30:20 | ...++ | AccessorCalls.cs:31:9:31:20 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:30:9:30:21 | ...; | AccessorCalls.cs:30:9:30:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:31:9:31:12 | this access | AccessorCalls.cs:31:9:31:17 | access to property Prop | semmle.label | successor |
|
|
| AccessorCalls.cs:31:9:31:17 | access to property Prop | AccessorCalls.cs:31:9:31:19 | ...++ | semmle.label | successor |
|
|
| AccessorCalls.cs:31:9:31:19 | ...++ | AccessorCalls.cs:32:9:32:18 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:31:9:31:20 | ...; | AccessorCalls.cs:31:9:31:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:32:9:32:12 | this access | AccessorCalls.cs:32:14:32:14 | 0 | semmle.label | successor |
|
|
| AccessorCalls.cs:32:9:32:15 | access to indexer | AccessorCalls.cs:32:9:32:17 | ...++ | semmle.label | successor |
|
|
| AccessorCalls.cs:32:9:32:17 | ...++ | AccessorCalls.cs:28:10:28:11 | exit M3 | semmle.label | successor |
|
|
| AccessorCalls.cs:32:9:32:18 | ...; | AccessorCalls.cs:32:9:32:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:32:14:32:14 | 0 | AccessorCalls.cs:32:9:32:15 | access to indexer | semmle.label | successor |
|
|
| AccessorCalls.cs:35:10:35:11 | enter M4 | AccessorCalls.cs:36:5:40:5 | {...} | semmle.label | successor |
|
|
| AccessorCalls.cs:36:5:40:5 | {...} | AccessorCalls.cs:37:9:37:23 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:37:9:37:12 | this access | AccessorCalls.cs:37:9:37:14 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:37:9:37:14 | access to field x | AccessorCalls.cs:37:9:37:20 | access to field Field | semmle.label | successor |
|
|
| AccessorCalls.cs:37:9:37:20 | access to field Field | AccessorCalls.cs:37:9:37:22 | ...++ | semmle.label | successor |
|
|
| AccessorCalls.cs:37:9:37:22 | ...++ | AccessorCalls.cs:38:9:38:22 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:37:9:37:23 | ...; | AccessorCalls.cs:37:9:37:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:38:9:38:12 | this access | AccessorCalls.cs:38:9:38:14 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:38:9:38:14 | access to field x | AccessorCalls.cs:38:9:38:19 | access to property Prop | semmle.label | successor |
|
|
| AccessorCalls.cs:38:9:38:19 | access to property Prop | AccessorCalls.cs:38:9:38:21 | ...++ | semmle.label | successor |
|
|
| AccessorCalls.cs:38:9:38:21 | ...++ | AccessorCalls.cs:39:9:39:20 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:38:9:38:22 | ...; | AccessorCalls.cs:38:9:38:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:39:9:39:12 | this access | AccessorCalls.cs:39:9:39:14 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:39:9:39:14 | access to field x | AccessorCalls.cs:39:16:39:16 | 0 | semmle.label | successor |
|
|
| AccessorCalls.cs:39:9:39:17 | access to indexer | AccessorCalls.cs:39:9:39:19 | ...++ | semmle.label | successor |
|
|
| AccessorCalls.cs:39:9:39:19 | ...++ | AccessorCalls.cs:35:10:35:11 | exit M4 | semmle.label | successor |
|
|
| AccessorCalls.cs:39:9:39:20 | ...; | AccessorCalls.cs:39:9:39:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:39:16:39:16 | 0 | AccessorCalls.cs:39:9:39:17 | access to indexer | semmle.label | successor |
|
|
| AccessorCalls.cs:42:10:42:11 | enter M5 | AccessorCalls.cs:43:5:47:5 | {...} | semmle.label | successor |
|
|
| AccessorCalls.cs:43:5:47:5 | {...} | AccessorCalls.cs:44:9:44:33 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:44:9:44:12 | this access | AccessorCalls.cs:44:9:44:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:44:9:44:12 | this access | AccessorCalls.cs:44:9:44:18 | access to field Field | semmle.label | successor |
|
|
| AccessorCalls.cs:44:9:44:18 | access to field Field | AccessorCalls.cs:44:23:44:26 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:44:9:44:32 | ... + ... | AccessorCalls.cs:44:9:44:32 | ... = ... | semmle.label | successor |
|
|
| AccessorCalls.cs:44:9:44:32 | ... = ... | AccessorCalls.cs:45:9:45:31 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:44:9:44:33 | ...; | AccessorCalls.cs:44:9:44:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:44:23:44:26 | this access | AccessorCalls.cs:44:23:44:32 | access to field Field | semmle.label | successor |
|
|
| AccessorCalls.cs:44:23:44:32 | access to field Field | AccessorCalls.cs:44:9:44:32 | ... + ... | semmle.label | successor |
|
|
| AccessorCalls.cs:45:9:45:12 | this access | AccessorCalls.cs:45:9:45:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:45:9:45:12 | this access | AccessorCalls.cs:45:9:45:17 | access to property Prop | semmle.label | successor |
|
|
| AccessorCalls.cs:45:9:45:17 | access to property Prop | AccessorCalls.cs:45:9:45:30 | ... = ... | semmle.label | successor |
|
|
| AccessorCalls.cs:45:9:45:17 | access to property Prop | AccessorCalls.cs:45:22:45:25 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:45:9:45:30 | ... + ... | AccessorCalls.cs:45:9:45:17 | access to property Prop | semmle.label | successor |
|
|
| AccessorCalls.cs:45:9:45:30 | ... = ... | AccessorCalls.cs:46:9:46:27 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:45:9:45:31 | ...; | AccessorCalls.cs:45:9:45:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:45:22:45:25 | this access | AccessorCalls.cs:45:22:45:30 | access to property Prop | semmle.label | successor |
|
|
| AccessorCalls.cs:45:22:45:30 | access to property Prop | AccessorCalls.cs:45:9:45:30 | ... + ... | semmle.label | successor |
|
|
| AccessorCalls.cs:46:9:46:12 | this access | AccessorCalls.cs:46:14:46:14 | 0 | semmle.label | successor |
|
|
| AccessorCalls.cs:46:9:46:12 | this access | AccessorCalls.cs:46:14:46:14 | 0 | semmle.label | successor |
|
|
| AccessorCalls.cs:46:9:46:15 | access to indexer | AccessorCalls.cs:46:9:46:26 | ... = ... | semmle.label | successor |
|
|
| AccessorCalls.cs:46:9:46:15 | access to indexer | AccessorCalls.cs:46:20:46:23 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:46:9:46:26 | ... + ... | AccessorCalls.cs:46:9:46:15 | access to indexer | semmle.label | successor |
|
|
| AccessorCalls.cs:46:9:46:26 | ... = ... | AccessorCalls.cs:42:10:42:11 | exit M5 | semmle.label | successor |
|
|
| AccessorCalls.cs:46:9:46:27 | ...; | AccessorCalls.cs:46:9:46:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:46:14:46:14 | 0 | AccessorCalls.cs:46:9:46:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:46:14:46:14 | 0 | AccessorCalls.cs:46:9:46:15 | access to indexer | semmle.label | successor |
|
|
| AccessorCalls.cs:46:20:46:23 | this access | AccessorCalls.cs:46:25:46:25 | 0 | semmle.label | successor |
|
|
| AccessorCalls.cs:46:20:46:26 | access to indexer | AccessorCalls.cs:46:9:46:26 | ... + ... | semmle.label | successor |
|
|
| AccessorCalls.cs:46:25:46:25 | 0 | AccessorCalls.cs:46:20:46:26 | access to indexer | semmle.label | successor |
|
|
| AccessorCalls.cs:49:10:49:11 | enter M6 | AccessorCalls.cs:50:5:54:5 | {...} | semmle.label | successor |
|
|
| AccessorCalls.cs:50:5:54:5 | {...} | AccessorCalls.cs:51:9:51:37 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:51:9:51:12 | this access | AccessorCalls.cs:51:9:51:14 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:51:9:51:12 | this access | AccessorCalls.cs:51:9:51:14 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:51:9:51:14 | access to field x | AccessorCalls.cs:51:9:51:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:51:9:51:14 | access to field x | AccessorCalls.cs:51:9:51:20 | access to field Field | semmle.label | successor |
|
|
| AccessorCalls.cs:51:9:51:20 | access to field Field | AccessorCalls.cs:51:25:51:28 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:51:9:51:36 | ... + ... | AccessorCalls.cs:51:9:51:36 | ... = ... | semmle.label | successor |
|
|
| AccessorCalls.cs:51:9:51:36 | ... = ... | AccessorCalls.cs:52:9:52:35 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:51:9:51:37 | ...; | AccessorCalls.cs:51:9:51:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:51:25:51:28 | this access | AccessorCalls.cs:51:25:51:30 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:51:25:51:30 | access to field x | AccessorCalls.cs:51:25:51:36 | access to field Field | semmle.label | successor |
|
|
| AccessorCalls.cs:51:25:51:36 | access to field Field | AccessorCalls.cs:51:9:51:36 | ... + ... | semmle.label | successor |
|
|
| AccessorCalls.cs:52:9:52:12 | this access | AccessorCalls.cs:52:9:52:14 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:52:9:52:12 | this access | AccessorCalls.cs:52:9:52:14 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:52:9:52:14 | access to field x | AccessorCalls.cs:52:9:52:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:52:9:52:14 | access to field x | AccessorCalls.cs:52:9:52:19 | access to property Prop | semmle.label | successor |
|
|
| AccessorCalls.cs:52:9:52:19 | access to property Prop | AccessorCalls.cs:52:9:52:34 | ... = ... | semmle.label | successor |
|
|
| AccessorCalls.cs:52:9:52:19 | access to property Prop | AccessorCalls.cs:52:24:52:27 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:52:9:52:34 | ... + ... | AccessorCalls.cs:52:9:52:19 | access to property Prop | semmle.label | successor |
|
|
| AccessorCalls.cs:52:9:52:34 | ... = ... | AccessorCalls.cs:53:9:53:31 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:52:9:52:35 | ...; | AccessorCalls.cs:52:9:52:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:52:24:52:27 | this access | AccessorCalls.cs:52:24:52:29 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:52:24:52:29 | access to field x | AccessorCalls.cs:52:24:52:34 | access to property Prop | semmle.label | successor |
|
|
| AccessorCalls.cs:52:24:52:34 | access to property Prop | AccessorCalls.cs:52:9:52:34 | ... + ... | semmle.label | successor |
|
|
| AccessorCalls.cs:53:9:53:12 | this access | AccessorCalls.cs:53:9:53:14 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:53:9:53:12 | this access | AccessorCalls.cs:53:9:53:14 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:53:9:53:14 | access to field x | AccessorCalls.cs:53:16:53:16 | 0 | semmle.label | successor |
|
|
| AccessorCalls.cs:53:9:53:14 | access to field x | AccessorCalls.cs:53:16:53:16 | 0 | semmle.label | successor |
|
|
| AccessorCalls.cs:53:9:53:17 | access to indexer | AccessorCalls.cs:53:9:53:30 | ... = ... | semmle.label | successor |
|
|
| AccessorCalls.cs:53:9:53:17 | access to indexer | AccessorCalls.cs:53:22:53:25 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:53:9:53:30 | ... + ... | AccessorCalls.cs:53:9:53:17 | access to indexer | semmle.label | successor |
|
|
| AccessorCalls.cs:53:9:53:30 | ... = ... | AccessorCalls.cs:49:10:49:11 | exit M6 | semmle.label | successor |
|
|
| AccessorCalls.cs:53:9:53:31 | ...; | AccessorCalls.cs:53:9:53:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:53:16:53:16 | 0 | AccessorCalls.cs:53:9:53:12 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:53:16:53:16 | 0 | AccessorCalls.cs:53:9:53:17 | access to indexer | semmle.label | successor |
|
|
| AccessorCalls.cs:53:22:53:25 | this access | AccessorCalls.cs:53:22:53:27 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:53:22:53:27 | access to field x | AccessorCalls.cs:53:29:53:29 | 0 | semmle.label | successor |
|
|
| AccessorCalls.cs:53:22:53:30 | access to indexer | AccessorCalls.cs:53:9:53:30 | ... + ... | semmle.label | successor |
|
|
| AccessorCalls.cs:53:29:53:29 | 0 | AccessorCalls.cs:53:22:53:30 | access to indexer | semmle.label | successor |
|
|
| AccessorCalls.cs:56:10:56:11 | enter M7 | AccessorCalls.cs:57:5:59:5 | {...} | semmle.label | successor |
|
|
| AccessorCalls.cs:57:5:59:5 | {...} | AccessorCalls.cs:58:9:58:86 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:58:9:58:45 | (..., ...) | AccessorCalls.cs:58:50:58:53 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:58:9:58:85 | ... = ... | AccessorCalls.cs:56:10:56:11 | exit M7 | semmle.label | successor |
|
|
| AccessorCalls.cs:58:9:58:86 | ...; | AccessorCalls.cs:58:10:58:13 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:58:10:58:13 | this access | AccessorCalls.cs:58:22:58:25 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:58:22:58:25 | this access | AccessorCalls.cs:58:37:58:40 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:58:22:58:30 | access to property Prop | AccessorCalls.cs:58:37:58:43 | access to indexer | semmle.label | successor |
|
|
| AccessorCalls.cs:58:33:58:44 | (..., ...) | AccessorCalls.cs:58:9:58:45 | (..., ...) | semmle.label | successor |
|
|
| AccessorCalls.cs:58:37:58:40 | this access | AccessorCalls.cs:58:42:58:42 | 0 | semmle.label | successor |
|
|
| AccessorCalls.cs:58:37:58:43 | access to indexer | AccessorCalls.cs:58:9:58:85 | ... = ... | semmle.label | successor |
|
|
| AccessorCalls.cs:58:42:58:42 | 0 | AccessorCalls.cs:58:33:58:44 | (..., ...) | semmle.label | successor |
|
|
| AccessorCalls.cs:58:49:58:85 | (..., ...) | AccessorCalls.cs:58:22:58:30 | access to property Prop | semmle.label | successor |
|
|
| AccessorCalls.cs:58:50:58:53 | this access | AccessorCalls.cs:58:50:58:59 | access to field Field | semmle.label | successor |
|
|
| AccessorCalls.cs:58:50:58:59 | access to field Field | AccessorCalls.cs:58:62:58:65 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:58:62:58:65 | this access | AccessorCalls.cs:58:62:58:70 | access to property Prop | semmle.label | successor |
|
|
| AccessorCalls.cs:58:62:58:70 | access to property Prop | AccessorCalls.cs:58:74:58:74 | 0 | semmle.label | successor |
|
|
| AccessorCalls.cs:58:73:58:84 | (..., ...) | AccessorCalls.cs:58:49:58:85 | (..., ...) | semmle.label | successor |
|
|
| AccessorCalls.cs:58:74:58:74 | 0 | AccessorCalls.cs:58:77:58:80 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:58:77:58:80 | this access | AccessorCalls.cs:58:82:58:82 | 1 | semmle.label | successor |
|
|
| AccessorCalls.cs:58:77:58:83 | access to indexer | AccessorCalls.cs:58:73:58:84 | (..., ...) | semmle.label | successor |
|
|
| AccessorCalls.cs:58:82:58:82 | 1 | AccessorCalls.cs:58:77:58:83 | access to indexer | semmle.label | successor |
|
|
| AccessorCalls.cs:61:10:61:11 | enter M8 | AccessorCalls.cs:62:5:64:5 | {...} | semmle.label | successor |
|
|
| AccessorCalls.cs:62:5:64:5 | {...} | AccessorCalls.cs:63:9:63:98 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:63:9:63:51 | (..., ...) | AccessorCalls.cs:63:56:63:59 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:63:9:63:97 | ... = ... | AccessorCalls.cs:61:10:61:11 | exit M8 | semmle.label | successor |
|
|
| AccessorCalls.cs:63:9:63:98 | ...; | AccessorCalls.cs:63:10:63:13 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:63:10:63:13 | this access | AccessorCalls.cs:63:10:63:15 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:63:10:63:15 | access to field x | AccessorCalls.cs:63:24:63:27 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:63:24:63:27 | this access | AccessorCalls.cs:63:24:63:29 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:63:24:63:29 | access to field x | AccessorCalls.cs:63:41:63:44 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:63:24:63:34 | access to property Prop | AccessorCalls.cs:63:41:63:49 | access to indexer | semmle.label | successor |
|
|
| AccessorCalls.cs:63:37:63:50 | (..., ...) | AccessorCalls.cs:63:9:63:51 | (..., ...) | semmle.label | successor |
|
|
| AccessorCalls.cs:63:41:63:44 | this access | AccessorCalls.cs:63:41:63:46 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:63:41:63:46 | access to field x | AccessorCalls.cs:63:48:63:48 | 0 | semmle.label | successor |
|
|
| AccessorCalls.cs:63:41:63:49 | access to indexer | AccessorCalls.cs:63:9:63:97 | ... = ... | semmle.label | successor |
|
|
| AccessorCalls.cs:63:48:63:48 | 0 | AccessorCalls.cs:63:37:63:50 | (..., ...) | semmle.label | successor |
|
|
| AccessorCalls.cs:63:55:63:97 | (..., ...) | AccessorCalls.cs:63:24:63:34 | access to property Prop | semmle.label | successor |
|
|
| AccessorCalls.cs:63:56:63:59 | this access | AccessorCalls.cs:63:56:63:61 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:63:56:63:61 | access to field x | AccessorCalls.cs:63:56:63:67 | access to field Field | semmle.label | successor |
|
|
| AccessorCalls.cs:63:56:63:67 | access to field Field | AccessorCalls.cs:63:70:63:73 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:63:70:63:73 | this access | AccessorCalls.cs:63:70:63:75 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:63:70:63:75 | access to field x | AccessorCalls.cs:63:70:63:80 | access to property Prop | semmle.label | successor |
|
|
| AccessorCalls.cs:63:70:63:80 | access to property Prop | AccessorCalls.cs:63:84:63:84 | 0 | semmle.label | successor |
|
|
| AccessorCalls.cs:63:83:63:96 | (..., ...) | AccessorCalls.cs:63:55:63:97 | (..., ...) | semmle.label | successor |
|
|
| AccessorCalls.cs:63:84:63:84 | 0 | AccessorCalls.cs:63:87:63:90 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:63:87:63:90 | this access | AccessorCalls.cs:63:87:63:92 | access to field x | semmle.label | successor |
|
|
| AccessorCalls.cs:63:87:63:92 | access to field x | AccessorCalls.cs:63:94:63:94 | 1 | semmle.label | successor |
|
|
| AccessorCalls.cs:63:87:63:95 | access to indexer | AccessorCalls.cs:63:83:63:96 | (..., ...) | semmle.label | successor |
|
|
| AccessorCalls.cs:63:94:63:94 | 1 | AccessorCalls.cs:63:87:63:95 | access to indexer | semmle.label | successor |
|
|
| AccessorCalls.cs:66:10:66:11 | enter M9 | AccessorCalls.cs:67:5:74:5 | {...} | semmle.label | successor |
|
|
| AccessorCalls.cs:67:5:74:5 | {...} | AccessorCalls.cs:68:9:68:22 | ... ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:68:9:68:22 | ... ...; | AccessorCalls.cs:68:21:68:21 | access to parameter o | semmle.label | successor |
|
|
| AccessorCalls.cs:68:17:68:21 | dynamic d = ... | AccessorCalls.cs:69:9:69:36 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:68:21:68:21 | access to parameter o | AccessorCalls.cs:68:17:68:21 | dynamic d = ... | semmle.label | successor |
|
|
| AccessorCalls.cs:69:9:69:9 | access to local variable d | AccessorCalls.cs:69:24:69:24 | access to local variable d | semmle.label | successor |
|
|
| AccessorCalls.cs:69:9:69:20 | dynamic access to member MaybeProp1 | AccessorCalls.cs:69:9:69:35 | ... = ... | semmle.label | successor |
|
|
| AccessorCalls.cs:69:9:69:35 | ... = ... | AccessorCalls.cs:70:9:70:22 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:69:9:69:36 | ...; | AccessorCalls.cs:69:9:69:9 | access to local variable d | semmle.label | successor |
|
|
| AccessorCalls.cs:69:24:69:24 | access to local variable d | AccessorCalls.cs:69:24:69:35 | dynamic access to member MaybeProp2 | semmle.label | successor |
|
|
| AccessorCalls.cs:69:24:69:35 | dynamic access to member MaybeProp2 | AccessorCalls.cs:69:9:69:20 | dynamic access to member MaybeProp1 | semmle.label | successor |
|
|
| AccessorCalls.cs:70:9:70:9 | access to local variable d | AccessorCalls.cs:70:9:70:19 | dynamic access to member MaybeProp | semmle.label | successor |
|
|
| AccessorCalls.cs:70:9:70:19 | dynamic access to member MaybeProp | AccessorCalls.cs:70:9:70:21 | dynamic call to operator ++ | semmle.label | successor |
|
|
| AccessorCalls.cs:70:9:70:21 | dynamic call to operator ++ | AccessorCalls.cs:71:9:71:26 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:70:9:70:22 | ...; | AccessorCalls.cs:70:9:70:9 | access to local variable d | semmle.label | successor |
|
|
| AccessorCalls.cs:71:9:71:9 | access to local variable d | AccessorCalls.cs:71:9:71:9 | access to local variable d | semmle.label | successor |
|
|
| AccessorCalls.cs:71:9:71:9 | access to local variable d | AccessorCalls.cs:71:9:71:20 | dynamic access to member MaybeEvent | semmle.label | successor |
|
|
| AccessorCalls.cs:71:9:71:20 | dynamic access to member MaybeEvent | AccessorCalls.cs:71:9:71:25 | ... = ... | semmle.label | successor |
|
|
| AccessorCalls.cs:71:9:71:20 | dynamic access to member MaybeEvent | AccessorCalls.cs:71:25:71:25 | access to parameter e | semmle.label | successor |
|
|
| AccessorCalls.cs:71:9:71:25 | ... = ... | AccessorCalls.cs:72:9:72:21 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:71:9:71:25 | dynamic call to operator + | AccessorCalls.cs:71:9:71:20 | dynamic access to member MaybeEvent | semmle.label | successor |
|
|
| AccessorCalls.cs:71:9:71:26 | ...; | AccessorCalls.cs:71:9:71:9 | access to local variable d | semmle.label | successor |
|
|
| AccessorCalls.cs:71:25:71:25 | access to parameter e | AccessorCalls.cs:71:9:71:25 | dynamic call to operator + | semmle.label | successor |
|
|
| AccessorCalls.cs:72:9:72:9 | access to local variable d | AccessorCalls.cs:72:11:72:11 | 0 | semmle.label | successor |
|
|
| AccessorCalls.cs:72:9:72:9 | access to local variable d | AccessorCalls.cs:72:11:72:11 | 0 | semmle.label | successor |
|
|
| AccessorCalls.cs:72:9:72:12 | dynamic access to element | AccessorCalls.cs:72:9:72:20 | ... = ... | semmle.label | successor |
|
|
| AccessorCalls.cs:72:9:72:12 | dynamic access to element | AccessorCalls.cs:72:17:72:17 | access to local variable d | semmle.label | successor |
|
|
| AccessorCalls.cs:72:9:72:20 | ... = ... | AccessorCalls.cs:73:9:73:84 | ...; | semmle.label | successor |
|
|
| AccessorCalls.cs:72:9:72:20 | dynamic call to operator + | AccessorCalls.cs:72:9:72:12 | dynamic access to element | semmle.label | successor |
|
|
| AccessorCalls.cs:72:9:72:21 | ...; | AccessorCalls.cs:72:9:72:9 | access to local variable d | semmle.label | successor |
|
|
| AccessorCalls.cs:72:11:72:11 | 0 | AccessorCalls.cs:72:9:72:9 | access to local variable d | semmle.label | successor |
|
|
| AccessorCalls.cs:72:11:72:11 | 0 | AccessorCalls.cs:72:9:72:12 | dynamic access to element | semmle.label | successor |
|
|
| AccessorCalls.cs:72:17:72:17 | access to local variable d | AccessorCalls.cs:72:19:72:19 | 1 | semmle.label | successor |
|
|
| AccessorCalls.cs:72:17:72:20 | dynamic access to element | AccessorCalls.cs:72:9:72:20 | dynamic call to operator + | semmle.label | successor |
|
|
| AccessorCalls.cs:72:19:72:19 | 1 | AccessorCalls.cs:72:17:72:20 | dynamic access to element | semmle.label | successor |
|
|
| AccessorCalls.cs:73:9:73:44 | (..., ...) | AccessorCalls.cs:73:49:73:49 | access to local variable d | semmle.label | successor |
|
|
| AccessorCalls.cs:73:9:73:83 | ... = ... | AccessorCalls.cs:66:10:66:11 | exit M9 | semmle.label | successor |
|
|
| AccessorCalls.cs:73:9:73:84 | ...; | AccessorCalls.cs:73:10:73:10 | access to local variable d | semmle.label | successor |
|
|
| AccessorCalls.cs:73:10:73:10 | access to local variable d | AccessorCalls.cs:73:24:73:27 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:73:10:73:21 | dynamic access to member MaybeProp1 | AccessorCalls.cs:73:24:73:32 | access to property Prop | semmle.label | successor |
|
|
| AccessorCalls.cs:73:24:73:27 | this access | AccessorCalls.cs:73:39:73:39 | access to local variable d | semmle.label | successor |
|
|
| AccessorCalls.cs:73:24:73:32 | access to property Prop | AccessorCalls.cs:73:39:73:42 | dynamic access to element | semmle.label | successor |
|
|
| AccessorCalls.cs:73:35:73:43 | (..., ...) | AccessorCalls.cs:73:9:73:44 | (..., ...) | semmle.label | successor |
|
|
| AccessorCalls.cs:73:39:73:39 | access to local variable d | AccessorCalls.cs:73:41:73:41 | 0 | semmle.label | successor |
|
|
| AccessorCalls.cs:73:39:73:42 | dynamic access to element | AccessorCalls.cs:73:9:73:83 | ... = ... | semmle.label | successor |
|
|
| AccessorCalls.cs:73:41:73:41 | 0 | AccessorCalls.cs:73:35:73:43 | (..., ...) | semmle.label | successor |
|
|
| AccessorCalls.cs:73:48:73:83 | (..., ...) | AccessorCalls.cs:73:10:73:21 | dynamic access to member MaybeProp1 | semmle.label | successor |
|
|
| AccessorCalls.cs:73:49:73:49 | access to local variable d | AccessorCalls.cs:73:49:73:60 | dynamic access to member MaybeProp1 | semmle.label | successor |
|
|
| AccessorCalls.cs:73:49:73:60 | dynamic access to member MaybeProp1 | AccessorCalls.cs:73:63:73:66 | this access | semmle.label | successor |
|
|
| AccessorCalls.cs:73:63:73:66 | this access | AccessorCalls.cs:73:63:73:71 | access to property Prop | semmle.label | successor |
|
|
| AccessorCalls.cs:73:63:73:71 | access to property Prop | AccessorCalls.cs:73:75:73:75 | 0 | semmle.label | successor |
|
|
| AccessorCalls.cs:73:74:73:82 | (..., ...) | AccessorCalls.cs:73:48:73:83 | (..., ...) | semmle.label | successor |
|
|
| AccessorCalls.cs:73:75:73:75 | 0 | AccessorCalls.cs:73:78:73:78 | access to local variable d | semmle.label | successor |
|
|
| AccessorCalls.cs:73:78:73:78 | access to local variable d | AccessorCalls.cs:73:80:73:80 | 1 | semmle.label | successor |
|
|
| AccessorCalls.cs:73:78:73:81 | dynamic access to element | AccessorCalls.cs:73:74:73:82 | (..., ...) | semmle.label | successor |
|
|
| AccessorCalls.cs:73:80:73:80 | 1 | AccessorCalls.cs:73:78:73:81 | dynamic access to element | semmle.label | successor |
|
|
| ArrayCreation.cs:3:11:3:12 | enter M1 | ArrayCreation.cs:3:27:3:27 | 0 | semmle.label | successor |
|
|
| ArrayCreation.cs:3:19:3:28 | array creation of type Int32[] | ArrayCreation.cs:3:11:3:12 | exit M1 | semmle.label | successor |
|
|
| ArrayCreation.cs:3:27:3:27 | 0 | ArrayCreation.cs:3:19:3:28 | array creation of type Int32[] | semmle.label | successor |
|
|
| ArrayCreation.cs:5:12:5:13 | enter M2 | ArrayCreation.cs:5:28:5:28 | 0 | semmle.label | successor |
|
|
| ArrayCreation.cs:5:20:5:32 | array creation of type Int32[,] | ArrayCreation.cs:5:12:5:13 | exit M2 | semmle.label | successor |
|
|
| ArrayCreation.cs:5:28:5:28 | 0 | ArrayCreation.cs:5:31:5:31 | 1 | semmle.label | successor |
|
|
| ArrayCreation.cs:5:31:5:31 | 1 | ArrayCreation.cs:5:20:5:32 | array creation of type Int32[,] | semmle.label | successor |
|
|
| ArrayCreation.cs:7:11:7:12 | enter M3 | ArrayCreation.cs:7:19:7:36 | array creation of type Int32[] | semmle.label | successor |
|
|
| ArrayCreation.cs:7:19:7:36 | array creation of type Int32[] | ArrayCreation.cs:7:31:7:31 | 0 | semmle.label | successor |
|
|
| ArrayCreation.cs:7:29:7:36 | { ..., ... } | ArrayCreation.cs:7:11:7:12 | exit M3 | semmle.label | successor |
|
|
| ArrayCreation.cs:7:31:7:31 | 0 | ArrayCreation.cs:7:34:7:34 | 1 | semmle.label | successor |
|
|
| ArrayCreation.cs:7:34:7:34 | 1 | ArrayCreation.cs:7:29:7:36 | { ..., ... } | semmle.label | successor |
|
|
| ArrayCreation.cs:9:12:9:13 | enter M4 | ArrayCreation.cs:9:20:9:52 | array creation of type Int32[,] | semmle.label | successor |
|
|
| ArrayCreation.cs:9:20:9:52 | array creation of type Int32[,] | ArrayCreation.cs:9:35:9:35 | 0 | semmle.label | successor |
|
|
| ArrayCreation.cs:9:31:9:52 | { ..., ... } | ArrayCreation.cs:9:12:9:13 | exit M4 | semmle.label | successor |
|
|
| ArrayCreation.cs:9:33:9:40 | { ..., ... } | ArrayCreation.cs:9:45:9:45 | 2 | semmle.label | successor |
|
|
| ArrayCreation.cs:9:35:9:35 | 0 | ArrayCreation.cs:9:38:9:38 | 1 | semmle.label | successor |
|
|
| ArrayCreation.cs:9:38:9:38 | 1 | ArrayCreation.cs:9:33:9:40 | { ..., ... } | semmle.label | successor |
|
|
| ArrayCreation.cs:9:43:9:50 | { ..., ... } | ArrayCreation.cs:9:31:9:52 | { ..., ... } | semmle.label | successor |
|
|
| ArrayCreation.cs:9:45:9:45 | 2 | ArrayCreation.cs:9:48:9:48 | 3 | semmle.label | successor |
|
|
| ArrayCreation.cs:9:48:9:48 | 3 | ArrayCreation.cs:9:43:9:50 | { ..., ... } | semmle.label | successor |
|
|
| Assignments.cs:3:10:3:10 | enter M | Assignments.cs:4:5:15:5 | {...} | semmle.label | successor |
|
|
| Assignments.cs:4:5:15:5 | {...} | Assignments.cs:5:9:5:18 | ... ...; | semmle.label | successor |
|
|
| Assignments.cs:5:9:5:18 | ... ...; | Assignments.cs:5:17:5:17 | 0 | semmle.label | successor |
|
|
| Assignments.cs:5:13:5:17 | Int32 x = ... | Assignments.cs:6:9:6:15 | ...; | semmle.label | successor |
|
|
| Assignments.cs:5:17:5:17 | 0 | Assignments.cs:5:13:5:17 | Int32 x = ... | semmle.label | successor |
|
|
| Assignments.cs:6:9:6:9 | access to local variable x | Assignments.cs:6:14:6:14 | 1 | semmle.label | successor |
|
|
| Assignments.cs:6:9:6:14 | ... + ... | Assignments.cs:6:9:6:14 | ... = ... | semmle.label | successor |
|
|
| Assignments.cs:6:9:6:14 | ... = ... | Assignments.cs:8:9:8:22 | ... ...; | semmle.label | successor |
|
|
| Assignments.cs:6:9:6:15 | ...; | Assignments.cs:6:9:6:9 | access to local variable x | semmle.label | successor |
|
|
| Assignments.cs:6:14:6:14 | 1 | Assignments.cs:6:9:6:14 | ... + ... | semmle.label | successor |
|
|
| Assignments.cs:8:9:8:22 | ... ...; | Assignments.cs:8:21:8:21 | 0 | semmle.label | successor |
|
|
| Assignments.cs:8:17:8:21 | dynamic d = ... | Assignments.cs:9:9:9:15 | ...; | semmle.label | successor |
|
|
| Assignments.cs:8:21:8:21 | 0 | Assignments.cs:8:21:8:21 | (...) ... | semmle.label | successor |
|
|
| Assignments.cs:8:21:8:21 | (...) ... | Assignments.cs:8:17:8:21 | dynamic d = ... | semmle.label | successor |
|
|
| Assignments.cs:9:9:9:9 | access to local variable d | Assignments.cs:9:14:9:14 | 2 | semmle.label | successor |
|
|
| Assignments.cs:9:9:9:14 | ... = ... | Assignments.cs:11:9:11:34 | ... ...; | semmle.label | successor |
|
|
| Assignments.cs:9:9:9:14 | dynamic call to operator - | Assignments.cs:9:9:9:14 | ... = ... | semmle.label | successor |
|
|
| Assignments.cs:9:9:9:15 | ...; | Assignments.cs:9:9:9:9 | access to local variable d | semmle.label | successor |
|
|
| Assignments.cs:9:14:9:14 | 2 | Assignments.cs:9:9:9:14 | dynamic call to operator - | semmle.label | successor |
|
|
| Assignments.cs:11:9:11:34 | ... ...; | Assignments.cs:11:17:11:33 | object creation of type Assignments | semmle.label | successor |
|
|
| Assignments.cs:11:13:11:33 | Assignments a = ... | Assignments.cs:12:9:12:18 | ...; | semmle.label | successor |
|
|
| Assignments.cs:11:17:11:33 | object creation of type Assignments | Assignments.cs:11:13:11:33 | Assignments a = ... | semmle.label | successor |
|
|
| Assignments.cs:12:9:12:9 | access to local variable a | Assignments.cs:12:14:12:17 | this access | semmle.label | successor |
|
|
| Assignments.cs:12:9:12:17 | ... = ... | Assignments.cs:14:9:14:36 | ...; | semmle.label | successor |
|
|
| Assignments.cs:12:9:12:17 | call to operator + | Assignments.cs:12:9:12:17 | ... = ... | semmle.label | successor |
|
|
| Assignments.cs:12:9:12:18 | ...; | Assignments.cs:12:9:12:9 | access to local variable a | semmle.label | successor |
|
|
| Assignments.cs:12:14:12:17 | this access | Assignments.cs:12:9:12:17 | call to operator + | semmle.label | successor |
|
|
| Assignments.cs:14:9:14:13 | access to event Event | Assignments.cs:14:9:14:35 | ... += ... | semmle.label | successor |
|
|
| Assignments.cs:14:9:14:13 | this access | Assignments.cs:14:18:14:35 | (...) => ... | semmle.label | successor |
|
|
| Assignments.cs:14:9:14:35 | ... += ... | Assignments.cs:3:10:3:10 | exit M | semmle.label | successor |
|
|
| Assignments.cs:14:9:14:36 | ...; | Assignments.cs:14:9:14:13 | this access | semmle.label | successor |
|
|
| Assignments.cs:14:18:14:35 | (...) => ... | Assignments.cs:14:9:14:13 | access to event Event | semmle.label | successor |
|
|
| Assignments.cs:14:18:14:35 | enter (...) => ... | Assignments.cs:14:33:14:35 | {...} | semmle.label | successor |
|
|
| Assignments.cs:14:33:14:35 | {...} | Assignments.cs:14:18:14:35 | exit (...) => ... | semmle.label | successor |
|
|
| Assignments.cs:17:40:17:40 | enter + | Assignments.cs:18:5:20:5 | {...} | semmle.label | successor |
|
|
| Assignments.cs:18:5:20:5 | {...} | Assignments.cs:19:16:19:16 | access to parameter x | semmle.label | successor |
|
|
| Assignments.cs:19:9:19:17 | return ...; | Assignments.cs:17:40:17:40 | exit + | semmle.label | return |
|
|
| Assignments.cs:19:16:19:16 | access to parameter x | Assignments.cs:19:9:19:17 | return ...; | semmle.label | successor |
|
|
| BreakInTry.cs:3:10:3:11 | enter M1 | BreakInTry.cs:4:5:18:5 | {...} | semmle.label | successor |
|
|
| BreakInTry.cs:4:5:18:5 | {...} | BreakInTry.cs:5:9:17:9 | try {...} ... | semmle.label | successor |
|
|
| BreakInTry.cs:5:9:17:9 | try {...} ... | BreakInTry.cs:6:9:12:9 | {...} | semmle.label | successor |
|
|
| BreakInTry.cs:6:9:12:9 | {...} | BreakInTry.cs:7:33:7:36 | access to parameter args | semmle.label | successor |
|
|
| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:7:26:7:28 | String arg | semmle.label | non-empty |
|
|
| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:14:9:17:9 | {...} | semmle.label | empty |
|
|
| BreakInTry.cs:7:26:7:28 | String arg | BreakInTry.cs:8:13:11:13 | {...} | semmle.label | successor |
|
|
| BreakInTry.cs:7:33:7:36 | access to parameter args | BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | semmle.label | successor |
|
|
| BreakInTry.cs:8:13:11:13 | {...} | BreakInTry.cs:9:17:10:26 | if (...) ... | semmle.label | successor |
|
|
| BreakInTry.cs:9:17:10:26 | if (...) ... | BreakInTry.cs:9:21:9:23 | access to local variable arg | semmle.label | successor |
|
|
| BreakInTry.cs:9:21:9:23 | access to local variable arg | BreakInTry.cs:9:28:9:31 | null | semmle.label | successor |
|
|
| BreakInTry.cs:9:21:9:31 | ... == ... | BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | semmle.label | false |
|
|
| BreakInTry.cs:9:21:9:31 | ... == ... | BreakInTry.cs:10:21:10:26 | break; | semmle.label | true |
|
|
| BreakInTry.cs:9:28:9:31 | null | BreakInTry.cs:9:21:9:31 | ... == ... | semmle.label | successor |
|
|
| BreakInTry.cs:10:21:10:26 | break; | BreakInTry.cs:14:9:17:9 | {...} | semmle.label | break |
|
|
| BreakInTry.cs:14:9:17:9 | {...} | BreakInTry.cs:15:13:16:17 | if (...) ... | semmle.label | successor |
|
|
| BreakInTry.cs:15:13:16:17 | if (...) ... | BreakInTry.cs:15:17:15:20 | access to parameter args | semmle.label | successor |
|
|
| BreakInTry.cs:15:17:15:20 | access to parameter args | BreakInTry.cs:15:25:15:28 | null | semmle.label | successor |
|
|
| BreakInTry.cs:15:17:15:28 | ... == ... | BreakInTry.cs:3:10:3:11 | exit M1 | semmle.label | false |
|
|
| BreakInTry.cs:15:17:15:28 | ... == ... | BreakInTry.cs:16:17:16:17 | ; | semmle.label | true |
|
|
| BreakInTry.cs:15:25:15:28 | null | BreakInTry.cs:15:17:15:28 | ... == ... | semmle.label | successor |
|
|
| BreakInTry.cs:16:17:16:17 | ; | BreakInTry.cs:3:10:3:11 | exit M1 | semmle.label | successor |
|
|
| BreakInTry.cs:20:10:20:11 | enter M2 | BreakInTry.cs:21:5:36:5 | {...} | semmle.label | successor |
|
|
| BreakInTry.cs:21:5:36:5 | {...} | BreakInTry.cs:22:29:22:32 | access to parameter args | semmle.label | successor |
|
|
| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:22:22:22:24 | String arg | semmle.label | non-empty |
|
|
| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:35:7:35:7 | ; | semmle.label | empty |
|
|
| BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:23:9:34:9 | {...} | semmle.label | successor |
|
|
| BreakInTry.cs:22:29:22:32 | access to parameter args | BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | semmle.label | successor |
|
|
| BreakInTry.cs:23:9:34:9 | {...} | BreakInTry.cs:24:13:33:13 | try {...} ... | semmle.label | successor |
|
|
| BreakInTry.cs:24:13:33:13 | try {...} ... | BreakInTry.cs:25:13:28:13 | {...} | semmle.label | successor |
|
|
| BreakInTry.cs:25:13:28:13 | {...} | BreakInTry.cs:26:17:27:26 | if (...) ... | semmle.label | successor |
|
|
| BreakInTry.cs:26:17:27:26 | if (...) ... | BreakInTry.cs:26:21:26:23 | access to local variable arg | semmle.label | successor |
|
|
| BreakInTry.cs:26:21:26:23 | access to local variable arg | BreakInTry.cs:26:28:26:31 | null | semmle.label | successor |
|
|
| BreakInTry.cs:26:21:26:31 | ... == ... | BreakInTry.cs:27:21:27:26 | break; | semmle.label | true |
|
|
| BreakInTry.cs:26:21:26:31 | ... == ... | BreakInTry.cs:30:13:33:13 | {...} | semmle.label | false |
|
|
| BreakInTry.cs:26:28:26:31 | null | BreakInTry.cs:26:21:26:31 | ... == ... | semmle.label | successor |
|
|
| BreakInTry.cs:27:21:27:26 | break; | BreakInTry.cs:30:13:33:13 | [finally: break] {...} | semmle.label | break |
|
|
| BreakInTry.cs:30:13:33:13 | [finally: break] {...} | BreakInTry.cs:31:17:32:21 | [finally: break] if (...) ... | semmle.label | successor |
|
|
| BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:31:17:32:21 | if (...) ... | semmle.label | successor |
|
|
| BreakInTry.cs:31:17:32:21 | [finally: break] if (...) ... | BreakInTry.cs:31:21:31:24 | [finally: break] access to parameter args | semmle.label | successor |
|
|
| BreakInTry.cs:31:17:32:21 | if (...) ... | BreakInTry.cs:31:21:31:24 | access to parameter args | semmle.label | successor |
|
|
| BreakInTry.cs:31:21:31:24 | [finally: break] access to parameter args | BreakInTry.cs:31:29:31:32 | [finally: break] null | semmle.label | successor |
|
|
| BreakInTry.cs:31:21:31:24 | access to parameter args | BreakInTry.cs:31:29:31:32 | null | semmle.label | successor |
|
|
| BreakInTry.cs:31:21:31:32 | ... == ... | BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | semmle.label | false |
|
|
| BreakInTry.cs:31:21:31:32 | ... == ... | BreakInTry.cs:32:21:32:21 | ; | semmle.label | true |
|
|
| BreakInTry.cs:31:21:31:32 | [finally: break] ... == ... | BreakInTry.cs:32:21:32:21 | [finally: break] ; | semmle.label | true |
|
|
| BreakInTry.cs:31:21:31:32 | [finally: break] ... == ... | BreakInTry.cs:35:7:35:7 | ; | semmle.label | break |
|
|
| BreakInTry.cs:31:29:31:32 | [finally: break] null | BreakInTry.cs:31:21:31:32 | [finally: break] ... == ... | semmle.label | successor |
|
|
| BreakInTry.cs:31:29:31:32 | null | BreakInTry.cs:31:21:31:32 | ... == ... | semmle.label | successor |
|
|
| BreakInTry.cs:32:21:32:21 | ; | BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | semmle.label | successor |
|
|
| BreakInTry.cs:32:21:32:21 | [finally: break] ; | BreakInTry.cs:35:7:35:7 | ; | semmle.label | break |
|
|
| BreakInTry.cs:35:7:35:7 | ; | BreakInTry.cs:20:10:20:11 | exit M2 | semmle.label | successor |
|
|
| BreakInTry.cs:38:10:38:11 | enter M3 | BreakInTry.cs:39:5:54:5 | {...} | semmle.label | successor |
|
|
| BreakInTry.cs:39:5:54:5 | {...} | BreakInTry.cs:40:9:52:9 | try {...} ... | semmle.label | successor |
|
|
| BreakInTry.cs:40:9:52:9 | try {...} ... | BreakInTry.cs:41:9:44:9 | {...} | semmle.label | successor |
|
|
| BreakInTry.cs:41:9:44:9 | {...} | BreakInTry.cs:42:13:43:23 | if (...) ... | semmle.label | successor |
|
|
| BreakInTry.cs:42:13:43:23 | if (...) ... | BreakInTry.cs:42:17:42:20 | access to parameter args | semmle.label | successor |
|
|
| BreakInTry.cs:42:17:42:20 | access to parameter args | BreakInTry.cs:42:25:42:28 | null | semmle.label | successor |
|
|
| BreakInTry.cs:42:17:42:28 | ... == ... | BreakInTry.cs:43:17:43:23 | return ...; | semmle.label | true |
|
|
| BreakInTry.cs:42:17:42:28 | ... == ... | BreakInTry.cs:46:9:52:9 | {...} | semmle.label | false |
|
|
| BreakInTry.cs:42:25:42:28 | null | BreakInTry.cs:42:17:42:28 | ... == ... | semmle.label | successor |
|
|
| BreakInTry.cs:43:17:43:23 | return ...; | BreakInTry.cs:46:9:52:9 | [finally: return] {...} | semmle.label | return |
|
|
| BreakInTry.cs:46:9:52:9 | [finally: return] {...} | BreakInTry.cs:47:33:47:36 | [finally: return] access to parameter args | semmle.label | successor |
|
|
| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:47:33:47:36 | access to parameter args | semmle.label | successor |
|
|
| BreakInTry.cs:47:13:51:13 | [finally: return] foreach (... ... in ...) ... | BreakInTry.cs:38:10:38:11 | exit M3 | semmle.label | return |
|
|
| BreakInTry.cs:47:13:51:13 | [finally: return] foreach (... ... in ...) ... | BreakInTry.cs:47:26:47:28 | [finally: return] String arg | semmle.label | non-empty |
|
|
| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:47:26:47:28 | String arg | semmle.label | non-empty |
|
|
| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:53:7:53:7 | ; | semmle.label | empty |
|
|
| BreakInTry.cs:47:26:47:28 | String arg | BreakInTry.cs:48:13:51:13 | {...} | semmle.label | successor |
|
|
| BreakInTry.cs:47:26:47:28 | [finally: return] String arg | BreakInTry.cs:48:13:51:13 | [finally: return] {...} | semmle.label | successor |
|
|
| BreakInTry.cs:47:33:47:36 | [finally: return] access to parameter args | BreakInTry.cs:47:13:51:13 | [finally: return] foreach (... ... in ...) ... | semmle.label | successor |
|
|
| BreakInTry.cs:47:33:47:36 | access to parameter args | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | semmle.label | successor |
|
|
| BreakInTry.cs:48:13:51:13 | [finally: return] {...} | BreakInTry.cs:49:17:50:26 | [finally: return] if (...) ... | semmle.label | successor |
|
|
| BreakInTry.cs:48:13:51:13 | {...} | BreakInTry.cs:49:17:50:26 | if (...) ... | semmle.label | successor |
|
|
| BreakInTry.cs:49:17:50:26 | [finally: return] if (...) ... | BreakInTry.cs:49:21:49:23 | [finally: return] access to local variable arg | semmle.label | successor |
|
|
| BreakInTry.cs:49:17:50:26 | if (...) ... | BreakInTry.cs:49:21:49:23 | access to local variable arg | semmle.label | successor |
|
|
| BreakInTry.cs:49:21:49:23 | [finally: return] access to local variable arg | BreakInTry.cs:49:28:49:31 | [finally: return] null | semmle.label | successor |
|
|
| BreakInTry.cs:49:21:49:23 | access to local variable arg | BreakInTry.cs:49:28:49:31 | null | semmle.label | successor |
|
|
| BreakInTry.cs:49:21:49:31 | ... == ... | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | semmle.label | false |
|
|
| BreakInTry.cs:49:21:49:31 | ... == ... | BreakInTry.cs:50:21:50:26 | break; | semmle.label | true |
|
|
| BreakInTry.cs:49:21:49:31 | [finally: return] ... == ... | BreakInTry.cs:47:13:51:13 | [finally: return] foreach (... ... in ...) ... | semmle.label | false |
|
|
| BreakInTry.cs:49:21:49:31 | [finally: return] ... == ... | BreakInTry.cs:50:21:50:26 | [finally: return] break; | semmle.label | true |
|
|
| BreakInTry.cs:49:28:49:31 | [finally: return] null | BreakInTry.cs:49:21:49:31 | [finally: return] ... == ... | semmle.label | successor |
|
|
| BreakInTry.cs:49:28:49:31 | null | BreakInTry.cs:49:21:49:31 | ... == ... | semmle.label | successor |
|
|
| BreakInTry.cs:50:21:50:26 | [finally: return] break; | BreakInTry.cs:38:10:38:11 | exit M3 | semmle.label | return |
|
|
| BreakInTry.cs:50:21:50:26 | break; | BreakInTry.cs:53:7:53:7 | ; | semmle.label | break |
|
|
| BreakInTry.cs:53:7:53:7 | ; | BreakInTry.cs:38:10:38:11 | exit M3 | semmle.label | successor |
|
|
| BreakInTry.cs:56:10:56:11 | enter M4 | BreakInTry.cs:57:5:71:5 | {...} | semmle.label | successor |
|
|
| BreakInTry.cs:57:5:71:5 | {...} | BreakInTry.cs:58:9:70:9 | try {...} ... | semmle.label | successor |
|
|
| BreakInTry.cs:58:9:70:9 | try {...} ... | BreakInTry.cs:59:9:62:9 | {...} | semmle.label | successor |
|
|
| BreakInTry.cs:59:9:62:9 | {...} | BreakInTry.cs:60:13:61:23 | if (...) ... | semmle.label | successor |
|
|
| BreakInTry.cs:60:13:61:23 | if (...) ... | BreakInTry.cs:60:17:60:20 | access to parameter args | semmle.label | successor |
|
|
| BreakInTry.cs:60:17:60:20 | access to parameter args | BreakInTry.cs:60:25:60:28 | null | semmle.label | successor |
|
|
| BreakInTry.cs:60:17:60:28 | ... == ... | BreakInTry.cs:61:17:61:23 | return ...; | semmle.label | true |
|
|
| BreakInTry.cs:60:17:60:28 | ... == ... | BreakInTry.cs:64:9:70:9 | {...} | semmle.label | false |
|
|
| BreakInTry.cs:60:25:60:28 | null | BreakInTry.cs:60:17:60:28 | ... == ... | semmle.label | successor |
|
|
| BreakInTry.cs:61:17:61:23 | return ...; | BreakInTry.cs:64:9:70:9 | [finally: return] {...} | semmle.label | return |
|
|
| BreakInTry.cs:64:9:70:9 | [finally: return] {...} | BreakInTry.cs:65:33:65:36 | [finally: return] access to parameter args | semmle.label | successor |
|
|
| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:65:33:65:36 | access to parameter args | semmle.label | successor |
|
|
| BreakInTry.cs:65:13:69:13 | [finally: return] foreach (... ... in ...) ... | BreakInTry.cs:56:10:56:11 | exit M4 | semmle.label | return |
|
|
| BreakInTry.cs:65:13:69:13 | [finally: return] foreach (... ... in ...) ... | BreakInTry.cs:65:26:65:28 | [finally: return] String arg | semmle.label | non-empty |
|
|
| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:56:10:56:11 | exit M4 | semmle.label | empty |
|
|
| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:65:26:65:28 | String arg | semmle.label | non-empty |
|
|
| BreakInTry.cs:65:26:65:28 | String arg | BreakInTry.cs:66:13:69:13 | {...} | semmle.label | successor |
|
|
| BreakInTry.cs:65:26:65:28 | [finally: return] String arg | BreakInTry.cs:66:13:69:13 | [finally: return] {...} | semmle.label | successor |
|
|
| BreakInTry.cs:65:33:65:36 | [finally: return] access to parameter args | BreakInTry.cs:65:13:69:13 | [finally: return] foreach (... ... in ...) ... | semmle.label | successor |
|
|
| BreakInTry.cs:65:33:65:36 | access to parameter args | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | semmle.label | successor |
|
|
| BreakInTry.cs:66:13:69:13 | [finally: return] {...} | BreakInTry.cs:67:17:68:26 | [finally: return] if (...) ... | semmle.label | successor |
|
|
| BreakInTry.cs:66:13:69:13 | {...} | BreakInTry.cs:67:17:68:26 | if (...) ... | semmle.label | successor |
|
|
| BreakInTry.cs:67:17:68:26 | [finally: return] if (...) ... | BreakInTry.cs:67:21:67:23 | [finally: return] access to local variable arg | semmle.label | successor |
|
|
| BreakInTry.cs:67:17:68:26 | if (...) ... | BreakInTry.cs:67:21:67:23 | access to local variable arg | semmle.label | successor |
|
|
| BreakInTry.cs:67:21:67:23 | [finally: return] access to local variable arg | BreakInTry.cs:67:28:67:31 | [finally: return] null | semmle.label | successor |
|
|
| BreakInTry.cs:67:21:67:23 | access to local variable arg | BreakInTry.cs:67:28:67:31 | null | semmle.label | successor |
|
|
| BreakInTry.cs:67:21:67:31 | ... == ... | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | semmle.label | false |
|
|
| BreakInTry.cs:67:21:67:31 | ... == ... | BreakInTry.cs:68:21:68:26 | break; | semmle.label | true |
|
|
| BreakInTry.cs:67:21:67:31 | [finally: return] ... == ... | BreakInTry.cs:65:13:69:13 | [finally: return] foreach (... ... in ...) ... | semmle.label | false |
|
|
| BreakInTry.cs:67:21:67:31 | [finally: return] ... == ... | BreakInTry.cs:68:21:68:26 | [finally: return] break; | semmle.label | true |
|
|
| BreakInTry.cs:67:28:67:31 | [finally: return] null | BreakInTry.cs:67:21:67:31 | [finally: return] ... == ... | semmle.label | successor |
|
|
| BreakInTry.cs:67:28:67:31 | null | BreakInTry.cs:67:21:67:31 | ... == ... | semmle.label | successor |
|
|
| BreakInTry.cs:68:21:68:26 | [finally: return] break; | BreakInTry.cs:56:10:56:11 | exit M4 | semmle.label | return |
|
|
| BreakInTry.cs:68:21:68:26 | break; | BreakInTry.cs:56:10:56:11 | exit M4 | semmle.label | break |
|
|
| CatchInFinally.cs:5:10:5:11 | enter M1 | CatchInFinally.cs:6:5:28:5 | {...} | semmle.label | successor |
|
|
| CatchInFinally.cs:6:5:28:5 | {...} | CatchInFinally.cs:7:9:27:9 | try {...} ... | semmle.label | successor |
|
|
| CatchInFinally.cs:7:9:27:9 | try {...} ... | CatchInFinally.cs:8:9:11:9 | {...} | semmle.label | successor |
|
|
| CatchInFinally.cs:8:9:11:9 | {...} | CatchInFinally.cs:9:13:10:50 | if (...) ... | semmle.label | successor |
|
|
| CatchInFinally.cs:9:13:10:50 | if (...) ... | CatchInFinally.cs:9:17:9:20 | access to parameter args | semmle.label | successor |
|
|
| CatchInFinally.cs:9:17:9:20 | access to parameter args | CatchInFinally.cs:9:25:9:28 | null | semmle.label | successor |
|
|
| CatchInFinally.cs:9:17:9:28 | ... == ... | CatchInFinally.cs:10:23:10:49 | object creation of type ArgumentNullException | semmle.label | true |
|
|
| CatchInFinally.cs:9:17:9:28 | ... == ... | CatchInFinally.cs:13:9:27:9 | {...} | semmle.label | false |
|
|
| CatchInFinally.cs:9:25:9:28 | null | CatchInFinally.cs:9:17:9:28 | ... == ... | semmle.label | successor |
|
|
| CatchInFinally.cs:10:17:10:50 | throw ...; | CatchInFinally.cs:13:9:27:9 | [finally: exception(ArgumentNullException)] {...} | semmle.label | exception(ArgumentNullException) |
|
|
| CatchInFinally.cs:10:23:10:49 | object creation of type ArgumentNullException | CatchInFinally.cs:10:17:10:50 | throw ...; | semmle.label | successor |
|
|
| CatchInFinally.cs:10:23:10:49 | object creation of type ArgumentNullException | CatchInFinally.cs:13:9:27:9 | [finally: exception(Exception)] {...} | semmle.label | exception(Exception) |
|
|
| CatchInFinally.cs:13:9:27:9 | [finally: exception(ArgumentNullException)] {...} | CatchInFinally.cs:14:13:26:13 | [finally: exception(ArgumentNullException)] try {...} ... | semmle.label | successor |
|
|
| CatchInFinally.cs:13:9:27:9 | [finally: exception(Exception)] {...} | CatchInFinally.cs:14:13:26:13 | [finally: exception(Exception)] try {...} ... | semmle.label | successor |
|
|
| CatchInFinally.cs:13:9:27:9 | {...} | CatchInFinally.cs:14:13:26:13 | try {...} ... | semmle.label | successor |
|
|
| CatchInFinally.cs:14:13:26:13 | [finally: exception(ArgumentNullException)] try {...} ... | CatchInFinally.cs:15:13:18:13 | [finally: exception(ArgumentNullException)] {...} | semmle.label | successor |
|
|
| CatchInFinally.cs:14:13:26:13 | [finally: exception(Exception)] try {...} ... | CatchInFinally.cs:15:13:18:13 | [finally: exception(Exception)] {...} | semmle.label | successor |
|
|
| CatchInFinally.cs:14:13:26:13 | try {...} ... | CatchInFinally.cs:15:13:18:13 | {...} | semmle.label | successor |
|
|
| CatchInFinally.cs:15:13:18:13 | [finally: exception(ArgumentNullException)] {...} | CatchInFinally.cs:16:17:17:45 | [finally: exception(ArgumentNullException)] if (...) ... | semmle.label | successor |
|
|
| CatchInFinally.cs:15:13:18:13 | [finally: exception(Exception)] {...} | CatchInFinally.cs:16:17:17:45 | [finally: exception(Exception)] if (...) ... | semmle.label | successor |
|
|
| CatchInFinally.cs:15:13:18:13 | {...} | CatchInFinally.cs:16:17:17:45 | if (...) ... | semmle.label | successor |
|
|
| CatchInFinally.cs:16:17:17:45 | [finally: exception(ArgumentNullException)] if (...) ... | CatchInFinally.cs:16:21:16:24 | [finally: exception(ArgumentNullException)] access to parameter args | semmle.label | successor |
|
|
| CatchInFinally.cs:16:17:17:45 | [finally: exception(Exception)] if (...) ... | CatchInFinally.cs:16:21:16:24 | [finally: exception(Exception)] access to parameter args | semmle.label | successor |
|
|
| CatchInFinally.cs:16:17:17:45 | if (...) ... | CatchInFinally.cs:16:21:16:24 | access to parameter args | semmle.label | successor |
|
|
| CatchInFinally.cs:16:21:16:24 | [finally: exception(ArgumentNullException)] access to parameter args | CatchInFinally.cs:16:21:16:31 | [finally: exception(ArgumentNullException)] access to property Length | semmle.label | successor |
|
|
| CatchInFinally.cs:16:21:16:24 | [finally: exception(Exception)] access to parameter args | CatchInFinally.cs:16:21:16:31 | [finally: exception(Exception)] access to property Length | semmle.label | successor |
|
|
| CatchInFinally.cs:16:21:16:24 | access to parameter args | CatchInFinally.cs:16:21:16:31 | access to property Length | semmle.label | successor |
|
|
| CatchInFinally.cs:16:21:16:31 | [finally: exception(ArgumentNullException)] access to property Length | CatchInFinally.cs:16:36:16:36 | [finally: exception(ArgumentNullException)] 1 | semmle.label | successor |
|
|
| CatchInFinally.cs:16:21:16:31 | [finally: exception(ArgumentNullException)] access to property Length | CatchInFinally.cs:19:13:22:13 | [finally: exception(ArgumentNullException), exception: Exception] catch (...) {...} | semmle.label | exception(Exception) |
|
|
| CatchInFinally.cs:16:21:16:31 | [finally: exception(ArgumentNullException)] access to property Length | CatchInFinally.cs:19:13:22:13 | [finally: exception(ArgumentNullException), exception: NullReferenceException] catch (...) {...} | semmle.label | exception(NullReferenceException) |
|
|
| CatchInFinally.cs:16:21:16:31 | [finally: exception(Exception)] access to property Length | CatchInFinally.cs:16:36:16:36 | [finally: exception(Exception)] 1 | semmle.label | successor |
|
|
| CatchInFinally.cs:16:21:16:31 | [finally: exception(Exception)] access to property Length | CatchInFinally.cs:19:13:22:13 | [finally: exception(Exception), exception: Exception] catch (...) {...} | semmle.label | exception(Exception) |
|
|
| CatchInFinally.cs:16:21:16:31 | [finally: exception(Exception)] access to property Length | CatchInFinally.cs:19:13:22:13 | [finally: exception(Exception), exception: NullReferenceException] catch (...) {...} | semmle.label | exception(NullReferenceException) |
|
|
| CatchInFinally.cs:16:21:16:31 | access to property Length | CatchInFinally.cs:16:36:16:36 | 1 | semmle.label | successor |
|
|
| CatchInFinally.cs:16:21:16:31 | access to property Length | CatchInFinally.cs:19:13:22:13 | [exception: Exception] catch (...) {...} | semmle.label | exception(Exception) |
|
|
| CatchInFinally.cs:16:21:16:31 | access to property Length | CatchInFinally.cs:19:13:22:13 | [exception: NullReferenceException] catch (...) {...} | semmle.label | exception(NullReferenceException) |
|
|
| CatchInFinally.cs:16:21:16:36 | ... == ... | CatchInFinally.cs:5:10:5:11 | exit M1 | semmle.label | false |
|
|
| CatchInFinally.cs:16:21:16:36 | ... == ... | CatchInFinally.cs:17:41:17:43 | "1" | semmle.label | true |
|
|
| CatchInFinally.cs:16:21:16:36 | [finally: exception(ArgumentNullException)] ... == ... | CatchInFinally.cs:5:10:5:11 | exit M1 | semmle.label | exception(ArgumentNullException) |
|
|
| CatchInFinally.cs:16:21:16:36 | [finally: exception(ArgumentNullException)] ... == ... | CatchInFinally.cs:17:41:17:43 | [finally: exception(ArgumentNullException)] "1" | semmle.label | true |
|
|
| CatchInFinally.cs:16:21:16:36 | [finally: exception(Exception)] ... == ... | CatchInFinally.cs:5:10:5:11 | exit M1 | semmle.label | exception(Exception) |
|
|
| CatchInFinally.cs:16:21:16:36 | [finally: exception(Exception)] ... == ... | CatchInFinally.cs:17:41:17:43 | [finally: exception(Exception)] "1" | semmle.label | true |
|
|
| CatchInFinally.cs:16:36:16:36 | 1 | CatchInFinally.cs:16:21:16:36 | ... == ... | semmle.label | successor |
|
|
| CatchInFinally.cs:16:36:16:36 | [finally: exception(ArgumentNullException)] 1 | CatchInFinally.cs:16:21:16:36 | [finally: exception(ArgumentNullException)] ... == ... | semmle.label | successor |
|
|
| CatchInFinally.cs:16:36:16:36 | [finally: exception(Exception)] 1 | CatchInFinally.cs:16:21:16:36 | [finally: exception(Exception)] ... == ... | semmle.label | successor |
|
|
| CatchInFinally.cs:17:21:17:45 | [finally: exception(ArgumentNullException)] throw ...; | CatchInFinally.cs:19:13:22:13 | [finally: exception(ArgumentNullException), exception: Exception] catch (...) {...} | semmle.label | exception(Exception) |
|
|
| CatchInFinally.cs:17:21:17:45 | [finally: exception(Exception)] throw ...; | CatchInFinally.cs:19:13:22:13 | [finally: exception(Exception), exception: Exception] catch (...) {...} | semmle.label | exception(Exception) |
|
|
| CatchInFinally.cs:17:21:17:45 | throw ...; | CatchInFinally.cs:19:13:22:13 | [exception: Exception] catch (...) {...} | semmle.label | exception(Exception) |
|
|
| CatchInFinally.cs:17:27:17:44 | [finally: exception(ArgumentNullException)] object creation of type Exception | CatchInFinally.cs:17:21:17:45 | [finally: exception(ArgumentNullException)] throw ...; | semmle.label | successor |
|
|
| CatchInFinally.cs:17:27:17:44 | [finally: exception(ArgumentNullException)] object creation of type Exception | CatchInFinally.cs:19:13:22:13 | [finally: exception(ArgumentNullException), exception: Exception] catch (...) {...} | semmle.label | exception(Exception) |
|
|
| CatchInFinally.cs:17:27:17:44 | [finally: exception(Exception)] object creation of type Exception | CatchInFinally.cs:17:21:17:45 | [finally: exception(Exception)] throw ...; | semmle.label | successor |
|
|
| CatchInFinally.cs:17:27:17:44 | [finally: exception(Exception)] object creation of type Exception | CatchInFinally.cs:19:13:22:13 | [finally: exception(Exception), exception: Exception] catch (...) {...} | semmle.label | exception(Exception) |
|
|
| CatchInFinally.cs:17:27:17:44 | object creation of type Exception | CatchInFinally.cs:17:21:17:45 | throw ...; | semmle.label | successor |
|
|
| CatchInFinally.cs:17:27:17:44 | object creation of type Exception | CatchInFinally.cs:19:13:22:13 | [exception: Exception] catch (...) {...} | semmle.label | exception(Exception) |
|
|
| CatchInFinally.cs:17:41:17:43 | "1" | CatchInFinally.cs:17:27:17:44 | object creation of type Exception | semmle.label | successor |
|
|
| CatchInFinally.cs:17:41:17:43 | [finally: exception(ArgumentNullException)] "1" | CatchInFinally.cs:17:27:17:44 | [finally: exception(ArgumentNullException)] object creation of type Exception | semmle.label | successor |
|
|
| CatchInFinally.cs:17:41:17:43 | [finally: exception(Exception)] "1" | CatchInFinally.cs:17:27:17:44 | [finally: exception(Exception)] object creation of type Exception | semmle.label | successor |
|
|
| CatchInFinally.cs:19:13:22:13 | [exception: Exception] catch (...) {...} | CatchInFinally.cs:19:30:19:30 | [exception: Exception] Exception e | semmle.label | match |
|
|
| CatchInFinally.cs:19:13:22:13 | [exception: NullReferenceException] catch (...) {...} | CatchInFinally.cs:19:30:19:30 | [exception: NullReferenceException] Exception e | semmle.label | match |
|
|
| CatchInFinally.cs:19:13:22:13 | [finally: exception(ArgumentNullException), exception: Exception] catch (...) {...} | CatchInFinally.cs:19:30:19:30 | [finally: exception(ArgumentNullException), exception: Exception] Exception e | semmle.label | match |
|
|
| CatchInFinally.cs:19:13:22:13 | [finally: exception(ArgumentNullException), exception: NullReferenceException] catch (...) {...} | CatchInFinally.cs:19:30:19:30 | [finally: exception(ArgumentNullException), exception: NullReferenceException] Exception e | semmle.label | match |
|
|
| CatchInFinally.cs:19:13:22:13 | [finally: exception(Exception), exception: Exception] catch (...) {...} | CatchInFinally.cs:19:30:19:30 | [finally: exception(Exception), exception: Exception] Exception e | semmle.label | match |
|
|
| CatchInFinally.cs:19:13:22:13 | [finally: exception(Exception), exception: NullReferenceException] catch (...) {...} | CatchInFinally.cs:19:30:19:30 | [finally: exception(Exception), exception: NullReferenceException] Exception e | semmle.label | match |
|
|
| CatchInFinally.cs:19:30:19:30 | [exception: Exception] Exception e | CatchInFinally.cs:19:39:19:39 | [exception: Exception] access to local variable e | semmle.label | successor |
|
|
| CatchInFinally.cs:19:30:19:30 | [exception: NullReferenceException] Exception e | CatchInFinally.cs:19:39:19:39 | [exception: NullReferenceException] access to local variable e | semmle.label | successor |
|
|
| CatchInFinally.cs:19:30:19:30 | [finally: exception(ArgumentNullException), exception: Exception] Exception e | CatchInFinally.cs:19:39:19:39 | [finally: exception(ArgumentNullException), exception: Exception] access to local variable e | semmle.label | successor |
|
|
| CatchInFinally.cs:19:30:19:30 | [finally: exception(ArgumentNullException), exception: NullReferenceException] Exception e | CatchInFinally.cs:19:39:19:39 | [finally: exception(ArgumentNullException), exception: NullReferenceException] access to local variable e | semmle.label | successor |
|
|
| CatchInFinally.cs:19:30:19:30 | [finally: exception(Exception), exception: Exception] Exception e | CatchInFinally.cs:19:39:19:39 | [finally: exception(Exception), exception: Exception] access to local variable e | semmle.label | successor |
|
|
| CatchInFinally.cs:19:30:19:30 | [finally: exception(Exception), exception: NullReferenceException] Exception e | CatchInFinally.cs:19:39:19:39 | [finally: exception(Exception), exception: NullReferenceException] access to local variable e | semmle.label | successor |
|
|
| CatchInFinally.cs:19:39:19:39 | [exception: Exception] access to local variable e | CatchInFinally.cs:19:39:19:47 | [exception: Exception] access to property Message | semmle.label | successor |
|
|
| CatchInFinally.cs:19:39:19:39 | [exception: NullReferenceException] access to local variable e | CatchInFinally.cs:19:39:19:47 | [exception: NullReferenceException] access to property Message | semmle.label | successor |
|
|
| CatchInFinally.cs:19:39:19:39 | [finally: exception(ArgumentNullException), exception: Exception] access to local variable e | CatchInFinally.cs:19:39:19:47 | [finally: exception(ArgumentNullException), exception: Exception] access to property Message | semmle.label | successor |
|
|
| CatchInFinally.cs:19:39:19:39 | [finally: exception(ArgumentNullException), exception: NullReferenceException] access to local variable e | CatchInFinally.cs:19:39:19:47 | [finally: exception(ArgumentNullException), exception: NullReferenceException] access to property Message | semmle.label | successor |
|
|
| CatchInFinally.cs:19:39:19:39 | [finally: exception(Exception), exception: Exception] access to local variable e | CatchInFinally.cs:19:39:19:47 | [finally: exception(Exception), exception: Exception] access to property Message | semmle.label | successor |
|
|
| CatchInFinally.cs:19:39:19:39 | [finally: exception(Exception), exception: NullReferenceException] access to local variable e | CatchInFinally.cs:19:39:19:47 | [finally: exception(Exception), exception: NullReferenceException] access to property Message | semmle.label | successor |
|
|
| CatchInFinally.cs:19:39:19:47 | [exception: Exception] access to property Message | CatchInFinally.cs:19:52:19:54 | [exception: Exception] "1" | semmle.label | successor |
|
|
| CatchInFinally.cs:19:39:19:47 | [exception: NullReferenceException] access to property Message | CatchInFinally.cs:19:52:19:54 | [exception: NullReferenceException] "1" | semmle.label | successor |
|
|
| CatchInFinally.cs:19:39:19:47 | [finally: exception(ArgumentNullException), exception: Exception] access to property Message | CatchInFinally.cs:19:52:19:54 | [finally: exception(ArgumentNullException), exception: Exception] "1" | semmle.label | successor |
|
|
| CatchInFinally.cs:19:39:19:47 | [finally: exception(ArgumentNullException), exception: NullReferenceException] access to property Message | CatchInFinally.cs:19:52:19:54 | [finally: exception(ArgumentNullException), exception: NullReferenceException] "1" | semmle.label | successor |
|
|
| CatchInFinally.cs:19:39:19:47 | [finally: exception(Exception), exception: Exception] access to property Message | CatchInFinally.cs:19:52:19:54 | [finally: exception(Exception), exception: Exception] "1" | semmle.label | successor |
|
|
| CatchInFinally.cs:19:39:19:47 | [finally: exception(Exception), exception: NullReferenceException] access to property Message | CatchInFinally.cs:19:52:19:54 | [finally: exception(Exception), exception: NullReferenceException] "1" | semmle.label | successor |
|
|
| CatchInFinally.cs:19:39:19:54 | [exception: Exception] ... == ... | CatchInFinally.cs:20:13:22:13 | {...} | semmle.label | true |
|
|
| CatchInFinally.cs:19:39:19:54 | [exception: Exception] ... == ... | CatchInFinally.cs:23:13:26:13 | catch {...} | semmle.label | false |
|
|
| CatchInFinally.cs:19:39:19:54 | [exception: NullReferenceException] ... == ... | CatchInFinally.cs:20:13:22:13 | {...} | semmle.label | true |
|
|
| CatchInFinally.cs:19:39:19:54 | [exception: NullReferenceException] ... == ... | CatchInFinally.cs:23:13:26:13 | catch {...} | semmle.label | false |
|
|
| CatchInFinally.cs:19:39:19:54 | [finally: exception(ArgumentNullException), exception: Exception] ... == ... | CatchInFinally.cs:20:13:22:13 | [finally: exception(ArgumentNullException)] {...} | semmle.label | true |
|
|
| CatchInFinally.cs:19:39:19:54 | [finally: exception(ArgumentNullException), exception: Exception] ... == ... | CatchInFinally.cs:23:13:26:13 | [finally: exception(ArgumentNullException)] catch {...} | semmle.label | false |
|
|
| CatchInFinally.cs:19:39:19:54 | [finally: exception(ArgumentNullException), exception: NullReferenceException] ... == ... | CatchInFinally.cs:20:13:22:13 | [finally: exception(ArgumentNullException)] {...} | semmle.label | true |
|
|
| CatchInFinally.cs:19:39:19:54 | [finally: exception(ArgumentNullException), exception: NullReferenceException] ... == ... | CatchInFinally.cs:23:13:26:13 | [finally: exception(ArgumentNullException)] catch {...} | semmle.label | false |
|
|
| CatchInFinally.cs:19:39:19:54 | [finally: exception(Exception), exception: Exception] ... == ... | CatchInFinally.cs:20:13:22:13 | [finally: exception(Exception)] {...} | semmle.label | true |
|
|
| CatchInFinally.cs:19:39:19:54 | [finally: exception(Exception), exception: Exception] ... == ... | CatchInFinally.cs:23:13:26:13 | [finally: exception(Exception)] catch {...} | semmle.label | false |
|
|
| CatchInFinally.cs:19:39:19:54 | [finally: exception(Exception), exception: NullReferenceException] ... == ... | CatchInFinally.cs:20:13:22:13 | [finally: exception(Exception)] {...} | semmle.label | true |
|
|
| CatchInFinally.cs:19:39:19:54 | [finally: exception(Exception), exception: NullReferenceException] ... == ... | CatchInFinally.cs:23:13:26:13 | [finally: exception(Exception)] catch {...} | semmle.label | false |
|
|
| CatchInFinally.cs:19:52:19:54 | [exception: Exception] "1" | CatchInFinally.cs:19:39:19:54 | [exception: Exception] ... == ... | semmle.label | successor |
|
|
| CatchInFinally.cs:19:52:19:54 | [exception: NullReferenceException] "1" | CatchInFinally.cs:19:39:19:54 | [exception: NullReferenceException] ... == ... | semmle.label | successor |
|
|
| CatchInFinally.cs:19:52:19:54 | [finally: exception(ArgumentNullException), exception: Exception] "1" | CatchInFinally.cs:19:39:19:54 | [finally: exception(ArgumentNullException), exception: Exception] ... == ... | semmle.label | successor |
|
|
| CatchInFinally.cs:19:52:19:54 | [finally: exception(ArgumentNullException), exception: NullReferenceException] "1" | CatchInFinally.cs:19:39:19:54 | [finally: exception(ArgumentNullException), exception: NullReferenceException] ... == ... | semmle.label | successor |
|
|
| CatchInFinally.cs:19:52:19:54 | [finally: exception(Exception), exception: Exception] "1" | CatchInFinally.cs:19:39:19:54 | [finally: exception(Exception), exception: Exception] ... == ... | semmle.label | successor |
|
|
| CatchInFinally.cs:19:52:19:54 | [finally: exception(Exception), exception: NullReferenceException] "1" | CatchInFinally.cs:19:39:19:54 | [finally: exception(Exception), exception: NullReferenceException] ... == ... | semmle.label | successor |
|
|
| CatchInFinally.cs:20:13:22:13 | [finally: exception(ArgumentNullException)] {...} | CatchInFinally.cs:21:17:21:43 | [finally: exception(ArgumentNullException)] ...; | semmle.label | successor |
|
|
| CatchInFinally.cs:20:13:22:13 | [finally: exception(Exception)] {...} | CatchInFinally.cs:21:17:21:43 | [finally: exception(Exception)] ...; | semmle.label | successor |
|
|
| CatchInFinally.cs:20:13:22:13 | {...} | CatchInFinally.cs:21:17:21:43 | ...; | semmle.label | successor |
|
|
| CatchInFinally.cs:21:17:21:42 | [finally: exception(ArgumentNullException)] call to method WriteLine | CatchInFinally.cs:5:10:5:11 | exit M1 | semmle.label | exception(ArgumentNullException) |
|
|
| CatchInFinally.cs:21:17:21:42 | [finally: exception(Exception)] call to method WriteLine | CatchInFinally.cs:5:10:5:11 | exit M1 | semmle.label | exception(Exception) |
|
|
| CatchInFinally.cs:21:17:21:42 | call to method WriteLine | CatchInFinally.cs:5:10:5:11 | exit M1 | semmle.label | successor |
|
|
| CatchInFinally.cs:21:17:21:43 | ...; | CatchInFinally.cs:21:35:21:38 | access to parameter args | semmle.label | successor |
|
|
| CatchInFinally.cs:21:17:21:43 | [finally: exception(ArgumentNullException)] ...; | CatchInFinally.cs:21:35:21:38 | [finally: exception(ArgumentNullException)] access to parameter args | semmle.label | successor |
|
|
| CatchInFinally.cs:21:17:21:43 | [finally: exception(Exception)] ...; | CatchInFinally.cs:21:35:21:38 | [finally: exception(Exception)] access to parameter args | semmle.label | successor |
|
|
| CatchInFinally.cs:21:35:21:38 | [finally: exception(ArgumentNullException)] access to parameter args | CatchInFinally.cs:21:40:21:40 | [finally: exception(ArgumentNullException)] 0 | semmle.label | successor |
|
|
| CatchInFinally.cs:21:35:21:38 | [finally: exception(Exception)] access to parameter args | CatchInFinally.cs:21:40:21:40 | [finally: exception(Exception)] 0 | semmle.label | successor |
|
|
| CatchInFinally.cs:21:35:21:38 | access to parameter args | CatchInFinally.cs:21:40:21:40 | 0 | semmle.label | successor |
|
|
| CatchInFinally.cs:21:35:21:41 | [finally: exception(ArgumentNullException)] access to array element | CatchInFinally.cs:21:17:21:42 | [finally: exception(ArgumentNullException)] call to method WriteLine | semmle.label | successor |
|
|
| CatchInFinally.cs:21:35:21:41 | [finally: exception(Exception)] access to array element | CatchInFinally.cs:21:17:21:42 | [finally: exception(Exception)] call to method WriteLine | semmle.label | successor |
|
|
| CatchInFinally.cs:21:35:21:41 | access to array element | CatchInFinally.cs:21:17:21:42 | call to method WriteLine | semmle.label | successor |
|
|
| CatchInFinally.cs:21:40:21:40 | 0 | CatchInFinally.cs:21:35:21:41 | access to array element | semmle.label | successor |
|
|
| CatchInFinally.cs:21:40:21:40 | [finally: exception(ArgumentNullException)] 0 | CatchInFinally.cs:21:35:21:41 | [finally: exception(ArgumentNullException)] access to array element | semmle.label | successor |
|
|
| CatchInFinally.cs:21:40:21:40 | [finally: exception(Exception)] 0 | CatchInFinally.cs:21:35:21:41 | [finally: exception(Exception)] access to array element | semmle.label | successor |
|
|
| CatchInFinally.cs:23:13:26:13 | [finally: exception(ArgumentNullException)] catch {...} | CatchInFinally.cs:24:13:26:13 | [finally: exception(ArgumentNullException)] {...} | semmle.label | successor |
|
|
| CatchInFinally.cs:23:13:26:13 | [finally: exception(Exception)] catch {...} | CatchInFinally.cs:24:13:26:13 | [finally: exception(Exception)] {...} | semmle.label | successor |
|
|
| CatchInFinally.cs:23:13:26:13 | catch {...} | CatchInFinally.cs:24:13:26:13 | {...} | semmle.label | successor |
|
|
| CatchInFinally.cs:24:13:26:13 | [finally: exception(ArgumentNullException)] {...} | CatchInFinally.cs:25:17:25:38 | [finally: exception(ArgumentNullException)] ...; | semmle.label | successor |
|
|
| CatchInFinally.cs:24:13:26:13 | [finally: exception(Exception)] {...} | CatchInFinally.cs:25:17:25:38 | [finally: exception(Exception)] ...; | semmle.label | successor |
|
|
| CatchInFinally.cs:24:13:26:13 | {...} | CatchInFinally.cs:25:17:25:38 | ...; | semmle.label | successor |
|
|
| CatchInFinally.cs:25:17:25:37 | [finally: exception(ArgumentNullException)] call to method WriteLine | CatchInFinally.cs:5:10:5:11 | exit M1 | semmle.label | exception(ArgumentNullException) |
|
|
| CatchInFinally.cs:25:17:25:37 | [finally: exception(Exception)] call to method WriteLine | CatchInFinally.cs:5:10:5:11 | exit M1 | semmle.label | exception(Exception) |
|
|
| CatchInFinally.cs:25:17:25:37 | call to method WriteLine | CatchInFinally.cs:5:10:5:11 | exit M1 | semmle.label | successor |
|
|
| CatchInFinally.cs:25:17:25:38 | ...; | CatchInFinally.cs:25:35:25:36 | "" | semmle.label | successor |
|
|
| CatchInFinally.cs:25:17:25:38 | [finally: exception(ArgumentNullException)] ...; | CatchInFinally.cs:25:35:25:36 | [finally: exception(ArgumentNullException)] "" | semmle.label | successor |
|
|
| CatchInFinally.cs:25:17:25:38 | [finally: exception(Exception)] ...; | CatchInFinally.cs:25:35:25:36 | [finally: exception(Exception)] "" | semmle.label | successor |
|
|
| CatchInFinally.cs:25:35:25:36 | "" | CatchInFinally.cs:25:17:25:37 | call to method WriteLine | semmle.label | successor |
|
|
| CatchInFinally.cs:25:35:25:36 | [finally: exception(ArgumentNullException)] "" | CatchInFinally.cs:25:17:25:37 | [finally: exception(ArgumentNullException)] call to method WriteLine | semmle.label | successor |
|
|
| CatchInFinally.cs:25:35:25:36 | [finally: exception(Exception)] "" | CatchInFinally.cs:25:17:25:37 | [finally: exception(Exception)] call to method WriteLine | semmle.label | successor |
|
|
| CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:35:5:51:5 | {...} | semmle.label | successor |
|
|
| CatchInFinally.cs:35:5:51:5 | {...} | CatchInFinally.cs:36:9:50:9 | try {...} ... | semmle.label | successor |
|
|
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:37:9:39:9 | {...} | semmle.label | successor |
|
|
| CatchInFinally.cs:37:9:39:9 | {...} | CatchInFinally.cs:38:13:38:43 | if (...) ... | semmle.label | successor |
|
|
| CatchInFinally.cs:38:13:38:43 | if (...) ... | CatchInFinally.cs:38:17:38:18 | access to parameter b1 | semmle.label | successor |
|
|
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | semmle.label | true |
|
|
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:41:9:50:9 | [b1 (line 34): false] {...} | semmle.label | false |
|
|
| CatchInFinally.cs:38:21:38:43 | [b1 (line 34): true] throw ...; | CatchInFinally.cs:41:9:50:9 | [finally: exception(ExceptionA), b1 (line 34): true] {...} | semmle.label | exception(ExceptionA) |
|
|
| CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:38:21:38:43 | [b1 (line 34): true] throw ...; | semmle.label | successor |
|
|
| CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:41:9:50:9 | [finally: exception(Exception), b1 (line 34): true] {...} | semmle.label | exception(Exception) |
|
|
| CatchInFinally.cs:41:9:50:9 | [b1 (line 34): false] {...} | CatchInFinally.cs:42:13:49:13 | [b1 (line 34): false] try {...} ... | semmle.label | successor |
|
|
| CatchInFinally.cs:41:9:50:9 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:42:13:49:13 | [finally: exception(Exception), b1 (line 34): true] try {...} ... | semmle.label | successor |
|
|
| CatchInFinally.cs:41:9:50:9 | [finally: exception(ExceptionA), b1 (line 34): true] {...} | CatchInFinally.cs:42:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] try {...} ... | semmle.label | successor |
|
|
| CatchInFinally.cs:42:13:49:13 | [b1 (line 34): false] try {...} ... | CatchInFinally.cs:43:13:45:13 | [b1 (line 34): false] {...} | semmle.label | successor |
|
|
| CatchInFinally.cs:42:13:49:13 | [finally: exception(Exception), b1 (line 34): true] try {...} ... | CatchInFinally.cs:43:13:45:13 | [finally: exception(Exception), b1 (line 34): true] {...} | semmle.label | successor |
|
|
| CatchInFinally.cs:42:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] try {...} ... | CatchInFinally.cs:43:13:45:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} | semmle.label | successor |
|
|
| CatchInFinally.cs:43:13:45:13 | [b1 (line 34): false] {...} | CatchInFinally.cs:44:17:44:47 | [b1 (line 34): false] if (...) ... | semmle.label | successor |
|
|
| CatchInFinally.cs:43:13:45:13 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:44:17:44:47 | [finally: exception(Exception), b1 (line 34): true] if (...) ... | semmle.label | successor |
|
|
| CatchInFinally.cs:43:13:45:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} | CatchInFinally.cs:44:17:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] if (...) ... | semmle.label | successor |
|
|
| CatchInFinally.cs:44:17:44:47 | [b1 (line 34): false] if (...) ... | CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 | semmle.label | successor |
|
|
| CatchInFinally.cs:44:17:44:47 | [finally: exception(Exception), b1 (line 34): true] if (...) ... | CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 | semmle.label | successor |
|
|
| CatchInFinally.cs:44:17:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] if (...) ... | CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 | semmle.label | successor |
|
|
| CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | false |
|
|
| CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB | semmle.label | true |
|
|
| CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(Exception) |
|
|
| CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | semmle.label | true |
|
|
| CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(ExceptionA) |
|
|
| CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | semmle.label | true |
|
|
| CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false, b2 (line 34): true] throw ...; | CatchInFinally.cs:46:13:49:13 | [exception: ExceptionB, b1 (line 34): false, b2 (line 34): true] catch (...) {...} | semmle.label | exception(ExceptionB) |
|
|
| CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] throw ...; | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | semmle.label | exception(ExceptionB) |
|
|
| CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] throw ...; | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | semmle.label | exception(ExceptionB) |
|
|
| CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false, b2 (line 34): true] throw ...; | semmle.label | successor |
|
|
| CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} | semmle.label | exception(Exception) |
|
|
| CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] throw ...; | semmle.label | successor |
|
|
| CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | semmle.label | exception(Exception) |
|
|
| CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] throw ...; | semmle.label | successor |
|
|
| CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | semmle.label | exception(Exception) |
|
|
| CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(Exception) |
|
|
| CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] access to parameter b2 | semmle.label | match |
|
|
| CatchInFinally.cs:46:13:49:13 | [exception: ExceptionB, b1 (line 34): false, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [exception: ExceptionB, b1 (line 34): false, b2 (line 34): true] access to parameter b2 | semmle.label | match |
|
|
| CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(Exception) |
|
|
| CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | semmle.label | match |
|
|
| CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | semmle.label | match |
|
|
| CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(Exception) |
|
|
| CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | semmle.label | match |
|
|
| CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | semmle.label | match |
|
|
| CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] access to parameter b2 | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} | semmle.label | true |
|
|
| CatchInFinally.cs:46:38:46:39 | [exception: ExceptionB, b1 (line 34): false, b2 (line 34): true] access to parameter b2 | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} | semmle.label | true |
|
|
| CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} | semmle.label | true |
|
|
| CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} | semmle.label | true |
|
|
| CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} | semmle.label | true |
|
|
| CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} | semmle.label | true |
|
|
| CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} | CatchInFinally.cs:48:17:48:47 | [b1 (line 34): false] if (...) ... | semmle.label | successor |
|
|
| CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:48:17:48:47 | [finally: exception(Exception), b1 (line 34): true] if (...) ... | semmle.label | successor |
|
|
| CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} | CatchInFinally.cs:48:17:48:47 | [finally: exception(ExceptionA), b1 (line 34): true] if (...) ... | semmle.label | successor |
|
|
| CatchInFinally.cs:48:17:48:47 | [b1 (line 34): false] if (...) ... | CatchInFinally.cs:48:21:48:22 | [b1 (line 34): false] access to parameter b1 | semmle.label | successor |
|
|
| CatchInFinally.cs:48:17:48:47 | [finally: exception(Exception), b1 (line 34): true] if (...) ... | CatchInFinally.cs:48:21:48:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b1 | semmle.label | successor |
|
|
| CatchInFinally.cs:48:17:48:47 | [finally: exception(ExceptionA), b1 (line 34): true] if (...) ... | CatchInFinally.cs:48:21:48:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b1 | semmle.label | successor |
|
|
| CatchInFinally.cs:48:21:48:22 | [b1 (line 34): false] access to parameter b1 | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | false |
|
|
| CatchInFinally.cs:48:21:48:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b1 | CatchInFinally.cs:48:31:48:46 | [finally: exception(Exception)] object creation of type ExceptionC | semmle.label | true |
|
|
| CatchInFinally.cs:48:21:48:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b1 | CatchInFinally.cs:48:31:48:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | semmle.label | true |
|
|
| CatchInFinally.cs:48:25:48:47 | [finally: exception(Exception)] throw ...; | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(ExceptionC) |
|
|
| CatchInFinally.cs:48:25:48:47 | [finally: exception(ExceptionA)] throw ...; | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(ExceptionC) |
|
|
| CatchInFinally.cs:48:31:48:46 | [finally: exception(Exception)] object creation of type ExceptionC | CatchInFinally.cs:48:25:48:47 | [finally: exception(Exception)] throw ...; | semmle.label | successor |
|
|
| CatchInFinally.cs:48:31:48:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | CatchInFinally.cs:48:25:48:47 | [finally: exception(ExceptionA)] throw ...; | semmle.label | successor |
|
|
| CompileTimeOperators.cs:5:9:5:15 | enter Default | CompileTimeOperators.cs:6:5:8:5 | {...} | semmle.label | successor |
|
|
| CompileTimeOperators.cs:6:5:8:5 | {...} | CompileTimeOperators.cs:7:16:7:27 | default(...) | semmle.label | successor |
|
|
| CompileTimeOperators.cs:7:9:7:28 | return ...; | CompileTimeOperators.cs:5:9:5:15 | exit Default | semmle.label | return |
|
|
| CompileTimeOperators.cs:7:16:7:27 | default(...) | CompileTimeOperators.cs:7:9:7:28 | return ...; | semmle.label | successor |
|
|
| CompileTimeOperators.cs:10:9:10:14 | enter Sizeof | CompileTimeOperators.cs:11:5:13:5 | {...} | semmle.label | successor |
|
|
| CompileTimeOperators.cs:11:5:13:5 | {...} | CompileTimeOperators.cs:12:16:12:26 | sizeof(..) | semmle.label | successor |
|
|
| CompileTimeOperators.cs:12:9:12:27 | return ...; | CompileTimeOperators.cs:10:9:10:14 | exit Sizeof | semmle.label | return |
|
|
| CompileTimeOperators.cs:12:16:12:26 | sizeof(..) | CompileTimeOperators.cs:12:9:12:27 | return ...; | semmle.label | successor |
|
|
| CompileTimeOperators.cs:15:10:15:15 | enter Typeof | CompileTimeOperators.cs:16:5:18:5 | {...} | semmle.label | successor |
|
|
| CompileTimeOperators.cs:16:5:18:5 | {...} | CompileTimeOperators.cs:17:16:17:26 | typeof(...) | semmle.label | successor |
|
|
| CompileTimeOperators.cs:17:9:17:27 | return ...; | CompileTimeOperators.cs:15:10:15:15 | exit Typeof | semmle.label | return |
|
|
| CompileTimeOperators.cs:17:16:17:26 | typeof(...) | CompileTimeOperators.cs:17:9:17:27 | return ...; | semmle.label | successor |
|
|
| CompileTimeOperators.cs:20:12:20:17 | enter Nameof | CompileTimeOperators.cs:21:5:23:5 | {...} | semmle.label | successor |
|
|
| CompileTimeOperators.cs:21:5:23:5 | {...} | CompileTimeOperators.cs:22:16:22:24 | nameof(...) | semmle.label | successor |
|
|
| CompileTimeOperators.cs:22:9:22:25 | return ...; | CompileTimeOperators.cs:20:12:20:17 | exit Nameof | semmle.label | return |
|
|
| CompileTimeOperators.cs:22:16:22:24 | nameof(...) | CompileTimeOperators.cs:22:9:22:25 | return ...; | semmle.label | successor |
|
|
| CompileTimeOperators.cs:28:10:28:10 | enter M | CompileTimeOperators.cs:29:5:41:5 | {...} | semmle.label | successor |
|
|
| CompileTimeOperators.cs:29:5:41:5 | {...} | CompileTimeOperators.cs:30:9:38:9 | try {...} ... | semmle.label | successor |
|
|
| CompileTimeOperators.cs:30:9:38:9 | try {...} ... | CompileTimeOperators.cs:31:9:34:9 | {...} | semmle.label | successor |
|
|
| CompileTimeOperators.cs:31:9:34:9 | {...} | CompileTimeOperators.cs:32:13:32:21 | goto ...; | semmle.label | successor |
|
|
| CompileTimeOperators.cs:32:13:32:21 | goto ...; | CompileTimeOperators.cs:36:9:38:9 | [finally: goto(End)] {...} | semmle.label | goto(End) |
|
|
| CompileTimeOperators.cs:36:9:38:9 | [finally: goto(End)] {...} | CompileTimeOperators.cs:37:13:37:41 | [finally: goto(End)] ...; | semmle.label | successor |
|
|
| CompileTimeOperators.cs:37:13:37:40 | [finally: goto(End)] call to method WriteLine | CompileTimeOperators.cs:40:9:40:11 | End: | semmle.label | goto(End) |
|
|
| CompileTimeOperators.cs:37:13:37:41 | [finally: goto(End)] ...; | CompileTimeOperators.cs:37:31:37:39 | [finally: goto(End)] "Finally" | semmle.label | successor |
|
|
| CompileTimeOperators.cs:37:31:37:39 | [finally: goto(End)] "Finally" | CompileTimeOperators.cs:37:13:37:40 | [finally: goto(End)] call to method WriteLine | semmle.label | successor |
|
|
| CompileTimeOperators.cs:40:9:40:11 | End: | CompileTimeOperators.cs:40:14:40:38 | ...; | semmle.label | successor |
|
|
| CompileTimeOperators.cs:40:14:40:37 | call to method WriteLine | CompileTimeOperators.cs:28:10:28:10 | exit M | semmle.label | successor |
|
|
| CompileTimeOperators.cs:40:14:40:38 | ...; | CompileTimeOperators.cs:40:32:40:36 | "End" | semmle.label | successor |
|
|
| CompileTimeOperators.cs:40:32:40:36 | "End" | CompileTimeOperators.cs:40:14:40:37 | call to method WriteLine | semmle.label | successor |
|
|
| ConditionalAccess.cs:3:12:3:13 | enter M1 | ConditionalAccess.cs:3:26:3:26 | access to parameter i | semmle.label | successor |
|
|
| ConditionalAccess.cs:3:26:3:26 | access to parameter i | ConditionalAccess.cs:3:12:3:13 | exit M1 | semmle.label | null |
|
|
| ConditionalAccess.cs:3:26:3:26 | access to parameter i | ConditionalAccess.cs:3:28:3:38 | call to method ToString | semmle.label | non-null |
|
|
| ConditionalAccess.cs:3:28:3:38 | call to method ToString | ConditionalAccess.cs:3:12:3:13 | exit M1 | semmle.label | null |
|
|
| ConditionalAccess.cs:3:28:3:38 | call to method ToString | ConditionalAccess.cs:3:40:3:49 | call to method ToLower | semmle.label | non-null |
|
|
| ConditionalAccess.cs:3:40:3:49 | call to method ToLower | ConditionalAccess.cs:3:12:3:13 | exit M1 | semmle.label | successor |
|
|
| ConditionalAccess.cs:5:10:5:11 | enter M2 | ConditionalAccess.cs:5:26:5:26 | access to parameter s | semmle.label | successor |
|
|
| ConditionalAccess.cs:5:26:5:26 | access to parameter s | ConditionalAccess.cs:5:10:5:11 | exit M2 | semmle.label | null |
|
|
| ConditionalAccess.cs:5:26:5:26 | access to parameter s | ConditionalAccess.cs:5:28:5:34 | access to property Length | semmle.label | non-null |
|
|
| ConditionalAccess.cs:5:28:5:34 | access to property Length | ConditionalAccess.cs:5:10:5:11 | exit M2 | semmle.label | successor |
|
|
| ConditionalAccess.cs:7:10:7:11 | enter M3 | ConditionalAccess.cs:7:39:7:46 | ... ?? ... | semmle.label | successor |
|
|
| ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | semmle.label | null |
|
|
| ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | ConditionalAccess.cs:7:49:7:55 | access to property Length | semmle.label | non-null |
|
|
| ConditionalAccess.cs:7:39:7:46 | ... ?? ... | ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | semmle.label | successor |
|
|
| ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | ConditionalAccess.cs:7:10:7:11 | exit M3 | semmle.label | null |
|
|
| ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | ConditionalAccess.cs:7:49:7:55 | access to property Length | semmle.label | non-null |
|
|
| ConditionalAccess.cs:7:49:7:55 | access to property Length | ConditionalAccess.cs:7:10:7:11 | exit M3 | semmle.label | successor |
|
|
| ConditionalAccess.cs:9:9:9:10 | enter M4 | ConditionalAccess.cs:9:25:9:38 | ... ?? ... | semmle.label | successor |
|
|
| ConditionalAccess.cs:9:25:9:25 | access to parameter s | ConditionalAccess.cs:9:27:9:33 | access to property Length | semmle.label | non-null |
|
|
| ConditionalAccess.cs:9:25:9:25 | access to parameter s | ConditionalAccess.cs:9:38:9:38 | 0 | semmle.label | null |
|
|
| ConditionalAccess.cs:9:25:9:38 | ... ?? ... | ConditionalAccess.cs:9:25:9:25 | access to parameter s | semmle.label | successor |
|
|
| ConditionalAccess.cs:9:27:9:33 | access to property Length | ConditionalAccess.cs:9:9:9:10 | exit M4 | semmle.label | non-null |
|
|
| ConditionalAccess.cs:9:27:9:33 | access to property Length | ConditionalAccess.cs:9:38:9:38 | 0 | semmle.label | null |
|
|
| ConditionalAccess.cs:9:38:9:38 | 0 | ConditionalAccess.cs:9:9:9:10 | exit M4 | semmle.label | successor |
|
|
| ConditionalAccess.cs:11:9:11:10 | enter M5 | ConditionalAccess.cs:12:5:17:5 | {...} | semmle.label | successor |
|
|
| ConditionalAccess.cs:12:5:17:5 | {...} | ConditionalAccess.cs:13:9:16:21 | if (...) ... | semmle.label | successor |
|
|
| ConditionalAccess.cs:13:9:16:21 | if (...) ... | ConditionalAccess.cs:13:13:13:13 | access to parameter s | semmle.label | successor |
|
|
| ConditionalAccess.cs:13:13:13:13 | access to parameter s | ConditionalAccess.cs:13:15:13:21 | access to property Length | semmle.label | non-null |
|
|
| ConditionalAccess.cs:13:13:13:13 | access to parameter s | ConditionalAccess.cs:13:25:13:25 | 0 | semmle.label | null |
|
|
| ConditionalAccess.cs:13:13:13:25 | ... > ... | ConditionalAccess.cs:14:20:14:20 | 0 | semmle.label | true |
|
|
| ConditionalAccess.cs:13:13:13:25 | ... > ... | ConditionalAccess.cs:16:20:16:20 | 1 | semmle.label | false |
|
|
| ConditionalAccess.cs:13:15:13:21 | access to property Length | ConditionalAccess.cs:13:25:13:25 | 0 | semmle.label | successor |
|
|
| ConditionalAccess.cs:13:25:13:25 | 0 | ConditionalAccess.cs:13:25:13:25 | (...) ... | semmle.label | successor |
|
|
| ConditionalAccess.cs:13:25:13:25 | (...) ... | ConditionalAccess.cs:13:13:13:25 | ... > ... | semmle.label | successor |
|
|
| ConditionalAccess.cs:14:13:14:21 | return ...; | ConditionalAccess.cs:11:9:11:10 | exit M5 | semmle.label | return |
|
|
| ConditionalAccess.cs:14:20:14:20 | 0 | ConditionalAccess.cs:14:13:14:21 | return ...; | semmle.label | successor |
|
|
| ConditionalAccess.cs:16:13:16:21 | return ...; | ConditionalAccess.cs:11:9:11:10 | exit M5 | semmle.label | return |
|
|
| ConditionalAccess.cs:16:20:16:20 | 1 | ConditionalAccess.cs:16:13:16:21 | return ...; | semmle.label | successor |
|
|
| ConditionalAccess.cs:19:12:19:13 | enter M6 | ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | semmle.label | successor |
|
|
| ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | ConditionalAccess.cs:19:12:19:13 | exit M6 | semmle.label | null |
|
|
| ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | ConditionalAccess.cs:19:58:19:59 | access to parameter s2 | semmle.label | non-null |
|
|
| ConditionalAccess.cs:19:43:19:60 | call to method CommaJoinWith | ConditionalAccess.cs:19:12:19:13 | exit M6 | semmle.label | successor |
|
|
| ConditionalAccess.cs:19:58:19:59 | access to parameter s2 | ConditionalAccess.cs:19:43:19:60 | call to method CommaJoinWith | semmle.label | successor |
|
|
| ConditionalAccess.cs:21:10:21:11 | enter M7 | ConditionalAccess.cs:22:5:26:5 | {...} | semmle.label | successor |
|
|
| ConditionalAccess.cs:22:5:26:5 | {...} | ConditionalAccess.cs:23:9:23:39 | ... ...; | semmle.label | successor |
|
|
| ConditionalAccess.cs:23:9:23:39 | ... ...; | ConditionalAccess.cs:23:26:23:29 | null | semmle.label | successor |
|
|
| ConditionalAccess.cs:23:13:23:38 | Nullable<Int32> j = ... | ConditionalAccess.cs:24:9:24:38 | ... ...; | semmle.label | successor |
|
|
| ConditionalAccess.cs:23:18:23:29 | (...) ... | ConditionalAccess.cs:23:13:23:38 | Nullable<Int32> j = ... | semmle.label | null |
|
|
| ConditionalAccess.cs:23:26:23:29 | null | ConditionalAccess.cs:23:18:23:29 | (...) ... | semmle.label | successor |
|
|
| ConditionalAccess.cs:24:9:24:38 | ... ...; | ConditionalAccess.cs:24:24:24:24 | access to parameter i | semmle.label | successor |
|
|
| ConditionalAccess.cs:24:13:24:37 | String s = ... | ConditionalAccess.cs:25:9:25:33 | ...; | semmle.label | successor |
|
|
| ConditionalAccess.cs:24:18:24:24 | (...) ... | ConditionalAccess.cs:24:27:24:37 | call to method ToString | semmle.label | non-null |
|
|
| ConditionalAccess.cs:24:24:24:24 | access to parameter i | ConditionalAccess.cs:24:18:24:24 | (...) ... | semmle.label | successor |
|
|
| ConditionalAccess.cs:24:27:24:37 | call to method ToString | ConditionalAccess.cs:24:13:24:37 | String s = ... | semmle.label | successor |
|
|
| ConditionalAccess.cs:25:9:25:32 | ... = ... | ConditionalAccess.cs:21:10:21:11 | exit M7 | semmle.label | successor |
|
|
| ConditionalAccess.cs:25:9:25:33 | ...; | ConditionalAccess.cs:25:13:25:14 | "" | semmle.label | successor |
|
|
| ConditionalAccess.cs:25:13:25:14 | "" | ConditionalAccess.cs:25:31:25:31 | access to local variable s | semmle.label | non-null |
|
|
| ConditionalAccess.cs:25:16:25:32 | call to method CommaJoinWith | ConditionalAccess.cs:25:9:25:32 | ... = ... | semmle.label | successor |
|
|
| ConditionalAccess.cs:25:31:25:31 | access to local variable s | ConditionalAccess.cs:25:16:25:32 | call to method CommaJoinWith | semmle.label | successor |
|
|
| ConditionalAccess.cs:31:26:31:38 | enter CommaJoinWith | ConditionalAccess.cs:31:70:31:71 | access to parameter s1 | semmle.label | successor |
|
|
| ConditionalAccess.cs:31:70:31:71 | access to parameter s1 | ConditionalAccess.cs:31:75:31:78 | ", " | semmle.label | successor |
|
|
| ConditionalAccess.cs:31:70:31:78 | ... + ... | ConditionalAccess.cs:31:82:31:83 | access to parameter s2 | semmle.label | successor |
|
|
| ConditionalAccess.cs:31:70:31:83 | ... + ... | ConditionalAccess.cs:31:26:31:38 | exit CommaJoinWith | semmle.label | successor |
|
|
| ConditionalAccess.cs:31:75:31:78 | ", " | ConditionalAccess.cs:31:70:31:78 | ... + ... | semmle.label | successor |
|
|
| ConditionalAccess.cs:31:82:31:83 | access to parameter s2 | ConditionalAccess.cs:31:70:31:83 | ... + ... | semmle.label | successor |
|
|
| Conditions.cs:3:10:3:19 | enter IncrOrDecr | Conditions.cs:4:5:9:5 | {...} | semmle.label | successor |
|
|
| Conditions.cs:4:5:9:5 | {...} | Conditions.cs:5:9:6:16 | if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:5:9:6:16 | if (...) ... | Conditions.cs:5:13:5:15 | access to parameter inc | semmle.label | successor |
|
|
| Conditions.cs:5:13:5:15 | access to parameter inc | Conditions.cs:6:13:6:16 | [inc (line 3): true] ...; | semmle.label | true |
|
|
| Conditions.cs:5:13:5:15 | access to parameter inc | Conditions.cs:7:9:8:16 | [inc (line 3): false] if (...) ... | semmle.label | false |
|
|
| Conditions.cs:6:13:6:13 | [inc (line 3): true] access to parameter x | Conditions.cs:6:13:6:15 | [inc (line 3): true] ...++ | semmle.label | successor |
|
|
| Conditions.cs:6:13:6:15 | [inc (line 3): true] ...++ | Conditions.cs:7:9:8:16 | [inc (line 3): true] if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:6:13:6:16 | [inc (line 3): true] ...; | Conditions.cs:6:13:6:13 | [inc (line 3): true] access to parameter x | semmle.label | successor |
|
|
| Conditions.cs:7:9:8:16 | [inc (line 3): false] if (...) ... | Conditions.cs:7:13:7:16 | [inc (line 3): false] !... | semmle.label | successor |
|
|
| Conditions.cs:7:9:8:16 | [inc (line 3): true] if (...) ... | Conditions.cs:7:13:7:16 | [inc (line 3): true] !... | semmle.label | successor |
|
|
| Conditions.cs:7:13:7:16 | [inc (line 3): false] !... | Conditions.cs:7:14:7:16 | [inc (line 3): false] access to parameter inc | semmle.label | successor |
|
|
| Conditions.cs:7:13:7:16 | [inc (line 3): true] !... | Conditions.cs:7:14:7:16 | [inc (line 3): true] access to parameter inc | semmle.label | successor |
|
|
| Conditions.cs:7:14:7:16 | [inc (line 3): false] access to parameter inc | Conditions.cs:8:13:8:16 | ...; | semmle.label | false |
|
|
| Conditions.cs:7:14:7:16 | [inc (line 3): true] access to parameter inc | Conditions.cs:3:10:3:19 | exit IncrOrDecr | semmle.label | true |
|
|
| Conditions.cs:8:13:8:13 | access to parameter x | Conditions.cs:8:13:8:15 | ...-- | semmle.label | successor |
|
|
| Conditions.cs:8:13:8:15 | ...-- | Conditions.cs:3:10:3:19 | exit IncrOrDecr | semmle.label | successor |
|
|
| Conditions.cs:8:13:8:16 | ...; | Conditions.cs:8:13:8:13 | access to parameter x | semmle.label | successor |
|
|
| Conditions.cs:11:9:11:10 | enter M1 | Conditions.cs:12:5:20:5 | {...} | semmle.label | successor |
|
|
| Conditions.cs:12:5:20:5 | {...} | Conditions.cs:13:9:13:18 | ... ...; | semmle.label | successor |
|
|
| Conditions.cs:13:9:13:18 | ... ...; | Conditions.cs:13:17:13:17 | 0 | semmle.label | successor |
|
|
| Conditions.cs:13:13:13:17 | Int32 x = ... | Conditions.cs:14:9:15:16 | if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:13:17:13:17 | 0 | Conditions.cs:13:13:13:17 | Int32 x = ... | semmle.label | successor |
|
|
| Conditions.cs:14:9:15:16 | if (...) ... | Conditions.cs:14:13:14:13 | access to parameter b | semmle.label | successor |
|
|
| Conditions.cs:14:13:14:13 | access to parameter b | Conditions.cs:15:13:15:16 | [b (line 11): true] ...; | semmle.label | true |
|
|
| Conditions.cs:14:13:14:13 | access to parameter b | Conditions.cs:16:9:18:20 | [b (line 11): false] if (...) ... | semmle.label | false |
|
|
| Conditions.cs:15:13:15:13 | [b (line 11): true] access to local variable x | Conditions.cs:15:13:15:15 | [b (line 11): true] ...++ | semmle.label | successor |
|
|
| Conditions.cs:15:13:15:15 | [b (line 11): true] ...++ | Conditions.cs:16:9:18:20 | [b (line 11): true] if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:15:13:15:16 | [b (line 11): true] ...; | Conditions.cs:15:13:15:13 | [b (line 11): true] access to local variable x | semmle.label | successor |
|
|
| Conditions.cs:16:9:18:20 | [b (line 11): false] if (...) ... | Conditions.cs:16:13:16:13 | [b (line 11): false] access to local variable x | semmle.label | successor |
|
|
| Conditions.cs:16:9:18:20 | [b (line 11): true] if (...) ... | Conditions.cs:16:13:16:13 | [b (line 11): true] access to local variable x | semmle.label | successor |
|
|
| Conditions.cs:16:13:16:13 | [b (line 11): false] access to local variable x | Conditions.cs:16:17:16:17 | [b (line 11): false] 0 | semmle.label | successor |
|
|
| Conditions.cs:16:13:16:13 | [b (line 11): true] access to local variable x | Conditions.cs:16:17:16:17 | [b (line 11): true] 0 | semmle.label | successor |
|
|
| Conditions.cs:16:13:16:17 | [b (line 11): false] ... > ... | Conditions.cs:17:13:18:20 | [b (line 11): false] if (...) ... | semmle.label | true |
|
|
| Conditions.cs:16:13:16:17 | [b (line 11): false] ... > ... | Conditions.cs:19:16:19:16 | access to local variable x | semmle.label | false |
|
|
| Conditions.cs:16:13:16:17 | [b (line 11): true] ... > ... | Conditions.cs:17:13:18:20 | [b (line 11): true] if (...) ... | semmle.label | true |
|
|
| Conditions.cs:16:13:16:17 | [b (line 11): true] ... > ... | Conditions.cs:19:16:19:16 | access to local variable x | semmle.label | false |
|
|
| Conditions.cs:16:17:16:17 | [b (line 11): false] 0 | Conditions.cs:16:13:16:17 | [b (line 11): false] ... > ... | semmle.label | successor |
|
|
| Conditions.cs:16:17:16:17 | [b (line 11): true] 0 | Conditions.cs:16:13:16:17 | [b (line 11): true] ... > ... | semmle.label | successor |
|
|
| Conditions.cs:17:13:18:20 | [b (line 11): false] if (...) ... | Conditions.cs:17:17:17:18 | [b (line 11): false] !... | semmle.label | successor |
|
|
| Conditions.cs:17:13:18:20 | [b (line 11): true] if (...) ... | Conditions.cs:17:17:17:18 | [b (line 11): true] !... | semmle.label | successor |
|
|
| Conditions.cs:17:17:17:18 | [b (line 11): false] !... | Conditions.cs:17:18:17:18 | [b (line 11): false] access to parameter b | semmle.label | successor |
|
|
| Conditions.cs:17:17:17:18 | [b (line 11): true] !... | Conditions.cs:17:18:17:18 | [b (line 11): true] access to parameter b | semmle.label | successor |
|
|
| Conditions.cs:17:18:17:18 | [b (line 11): false] access to parameter b | Conditions.cs:18:17:18:20 | ...; | semmle.label | false |
|
|
| Conditions.cs:17:18:17:18 | [b (line 11): true] access to parameter b | Conditions.cs:19:16:19:16 | access to local variable x | semmle.label | true |
|
|
| Conditions.cs:18:17:18:17 | access to local variable x | Conditions.cs:18:17:18:19 | ...-- | semmle.label | successor |
|
|
| Conditions.cs:18:17:18:19 | ...-- | Conditions.cs:19:16:19:16 | access to local variable x | semmle.label | successor |
|
|
| Conditions.cs:18:17:18:20 | ...; | Conditions.cs:18:17:18:17 | access to local variable x | semmle.label | successor |
|
|
| Conditions.cs:19:9:19:17 | return ...; | Conditions.cs:11:9:11:10 | exit M1 | semmle.label | return |
|
|
| Conditions.cs:19:16:19:16 | access to local variable x | Conditions.cs:19:9:19:17 | return ...; | semmle.label | successor |
|
|
| Conditions.cs:22:9:22:10 | enter M2 | Conditions.cs:23:5:31:5 | {...} | semmle.label | successor |
|
|
| Conditions.cs:23:5:31:5 | {...} | Conditions.cs:24:9:24:18 | ... ...; | semmle.label | successor |
|
|
| Conditions.cs:24:9:24:18 | ... ...; | Conditions.cs:24:17:24:17 | 0 | semmle.label | successor |
|
|
| Conditions.cs:24:13:24:17 | Int32 x = ... | Conditions.cs:25:9:27:20 | if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:24:17:24:17 | 0 | Conditions.cs:24:13:24:17 | Int32 x = ... | semmle.label | successor |
|
|
| Conditions.cs:25:9:27:20 | if (...) ... | Conditions.cs:25:13:25:14 | access to parameter b1 | semmle.label | successor |
|
|
| Conditions.cs:25:13:25:14 | access to parameter b1 | Conditions.cs:26:13:27:20 | if (...) ... | semmle.label | true |
|
|
| Conditions.cs:25:13:25:14 | access to parameter b1 | Conditions.cs:28:9:29:16 | if (...) ... | semmle.label | false |
|
|
| Conditions.cs:26:13:27:20 | if (...) ... | Conditions.cs:26:17:26:18 | access to parameter b2 | semmle.label | successor |
|
|
| Conditions.cs:26:17:26:18 | access to parameter b2 | Conditions.cs:27:17:27:20 | [b2 (line 22): true] ...; | semmle.label | true |
|
|
| Conditions.cs:26:17:26:18 | access to parameter b2 | Conditions.cs:28:9:29:16 | [b2 (line 22): false] if (...) ... | semmle.label | false |
|
|
| Conditions.cs:27:17:27:17 | [b2 (line 22): true] access to local variable x | Conditions.cs:27:17:27:19 | [b2 (line 22): true] ...++ | semmle.label | successor |
|
|
| Conditions.cs:27:17:27:19 | [b2 (line 22): true] ...++ | Conditions.cs:28:9:29:16 | [b2 (line 22): true] if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:27:17:27:20 | [b2 (line 22): true] ...; | Conditions.cs:27:17:27:17 | [b2 (line 22): true] access to local variable x | semmle.label | successor |
|
|
| Conditions.cs:28:9:29:16 | [b2 (line 22): false] if (...) ... | Conditions.cs:28:13:28:14 | [b2 (line 22): false] access to parameter b2 | semmle.label | successor |
|
|
| Conditions.cs:28:9:29:16 | [b2 (line 22): true] if (...) ... | Conditions.cs:28:13:28:14 | [b2 (line 22): true] access to parameter b2 | semmle.label | successor |
|
|
| Conditions.cs:28:9:29:16 | if (...) ... | Conditions.cs:28:13:28:14 | access to parameter b2 | semmle.label | successor |
|
|
| Conditions.cs:28:13:28:14 | [b2 (line 22): false] access to parameter b2 | Conditions.cs:30:16:30:16 | access to local variable x | semmle.label | false |
|
|
| Conditions.cs:28:13:28:14 | [b2 (line 22): true] access to parameter b2 | Conditions.cs:29:13:29:16 | ...; | semmle.label | true |
|
|
| Conditions.cs:28:13:28:14 | access to parameter b2 | Conditions.cs:29:13:29:16 | ...; | semmle.label | true |
|
|
| Conditions.cs:28:13:28:14 | access to parameter b2 | Conditions.cs:30:16:30:16 | access to local variable x | semmle.label | false |
|
|
| Conditions.cs:29:13:29:13 | access to local variable x | Conditions.cs:29:13:29:15 | ...++ | semmle.label | successor |
|
|
| Conditions.cs:29:13:29:15 | ...++ | Conditions.cs:30:16:30:16 | access to local variable x | semmle.label | successor |
|
|
| Conditions.cs:29:13:29:16 | ...; | Conditions.cs:29:13:29:13 | access to local variable x | semmle.label | successor |
|
|
| Conditions.cs:30:9:30:17 | return ...; | Conditions.cs:22:9:22:10 | exit M2 | semmle.label | return |
|
|
| Conditions.cs:30:16:30:16 | access to local variable x | Conditions.cs:30:9:30:17 | return ...; | semmle.label | successor |
|
|
| Conditions.cs:33:9:33:10 | enter M3 | Conditions.cs:34:5:44:5 | {...} | semmle.label | successor |
|
|
| Conditions.cs:34:5:44:5 | {...} | Conditions.cs:35:9:35:18 | ... ...; | semmle.label | successor |
|
|
| Conditions.cs:35:9:35:18 | ... ...; | Conditions.cs:35:17:35:17 | 0 | semmle.label | successor |
|
|
| Conditions.cs:35:13:35:17 | Int32 x = ... | Conditions.cs:36:9:36:23 | ... ...; | semmle.label | successor |
|
|
| Conditions.cs:35:17:35:17 | 0 | Conditions.cs:35:13:35:17 | Int32 x = ... | semmle.label | successor |
|
|
| Conditions.cs:36:9:36:23 | ... ...; | Conditions.cs:36:18:36:22 | false | semmle.label | successor |
|
|
| Conditions.cs:36:13:36:22 | Boolean b2 = ... | Conditions.cs:37:9:38:20 | if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:36:18:36:22 | false | Conditions.cs:36:13:36:22 | Boolean b2 = ... | semmle.label | successor |
|
|
| Conditions.cs:37:9:38:20 | if (...) ... | Conditions.cs:37:13:37:14 | access to parameter b1 | semmle.label | successor |
|
|
| Conditions.cs:37:13:37:14 | access to parameter b1 | Conditions.cs:38:13:38:20 | ...; | semmle.label | true |
|
|
| Conditions.cs:37:13:37:14 | access to parameter b1 | Conditions.cs:39:9:40:16 | if (...) ... | semmle.label | false |
|
|
| Conditions.cs:38:13:38:19 | ... = ... | Conditions.cs:39:9:40:16 | if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:38:13:38:20 | ...; | Conditions.cs:38:18:38:19 | access to parameter b1 | semmle.label | successor |
|
|
| Conditions.cs:38:18:38:19 | access to parameter b1 | Conditions.cs:38:13:38:19 | ... = ... | semmle.label | successor |
|
|
| Conditions.cs:39:9:40:16 | if (...) ... | Conditions.cs:39:13:39:14 | access to local variable b2 | semmle.label | successor |
|
|
| Conditions.cs:39:13:39:14 | access to local variable b2 | Conditions.cs:40:13:40:16 | [b2 (line 39): true] ...; | semmle.label | true |
|
|
| Conditions.cs:39:13:39:14 | access to local variable b2 | Conditions.cs:41:9:42:16 | [b2 (line 39): false] if (...) ... | semmle.label | false |
|
|
| Conditions.cs:40:13:40:13 | [b2 (line 39): true] access to local variable x | Conditions.cs:40:13:40:15 | [b2 (line 39): true] ...++ | semmle.label | successor |
|
|
| Conditions.cs:40:13:40:15 | [b2 (line 39): true] ...++ | Conditions.cs:41:9:42:16 | [b2 (line 39): true] if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:40:13:40:16 | [b2 (line 39): true] ...; | Conditions.cs:40:13:40:13 | [b2 (line 39): true] access to local variable x | semmle.label | successor |
|
|
| Conditions.cs:41:9:42:16 | [b2 (line 39): false] if (...) ... | Conditions.cs:41:13:41:14 | [b2 (line 39): false] access to local variable b2 | semmle.label | successor |
|
|
| Conditions.cs:41:9:42:16 | [b2 (line 39): true] if (...) ... | Conditions.cs:41:13:41:14 | [b2 (line 39): true] access to local variable b2 | semmle.label | successor |
|
|
| Conditions.cs:41:13:41:14 | [b2 (line 39): false] access to local variable b2 | Conditions.cs:43:16:43:16 | access to local variable x | semmle.label | false |
|
|
| Conditions.cs:41:13:41:14 | [b2 (line 39): true] access to local variable b2 | Conditions.cs:42:13:42:16 | ...; | semmle.label | true |
|
|
| Conditions.cs:42:13:42:13 | access to local variable x | Conditions.cs:42:13:42:15 | ...++ | semmle.label | successor |
|
|
| Conditions.cs:42:13:42:15 | ...++ | Conditions.cs:43:16:43:16 | access to local variable x | semmle.label | successor |
|
|
| Conditions.cs:42:13:42:16 | ...; | Conditions.cs:42:13:42:13 | access to local variable x | semmle.label | successor |
|
|
| Conditions.cs:43:9:43:17 | return ...; | Conditions.cs:33:9:33:10 | exit M3 | semmle.label | return |
|
|
| Conditions.cs:43:16:43:16 | access to local variable x | Conditions.cs:43:9:43:17 | return ...; | semmle.label | successor |
|
|
| Conditions.cs:46:9:46:10 | enter M4 | Conditions.cs:47:5:55:5 | {...} | semmle.label | successor |
|
|
| Conditions.cs:47:5:55:5 | {...} | Conditions.cs:48:9:48:18 | ... ...; | semmle.label | successor |
|
|
| Conditions.cs:48:9:48:18 | ... ...; | Conditions.cs:48:17:48:17 | 0 | semmle.label | successor |
|
|
| Conditions.cs:48:13:48:17 | Int32 y = ... | Conditions.cs:49:9:53:9 | while (...) ... | semmle.label | successor |
|
|
| Conditions.cs:48:17:48:17 | 0 | Conditions.cs:48:13:48:17 | Int32 y = ... | semmle.label | successor |
|
|
| Conditions.cs:49:9:53:9 | while (...) ... | Conditions.cs:49:16:49:16 | access to parameter x | semmle.label | successor |
|
|
| Conditions.cs:49:16:49:16 | [b (line 46): false] access to parameter x | Conditions.cs:49:16:49:18 | [b (line 46): false] ...-- | semmle.label | successor |
|
|
| Conditions.cs:49:16:49:16 | [b (line 46): true] access to parameter x | Conditions.cs:49:16:49:18 | [b (line 46): true] ...-- | semmle.label | successor |
|
|
| Conditions.cs:49:16:49:16 | access to parameter x | Conditions.cs:49:16:49:18 | ...-- | semmle.label | successor |
|
|
| Conditions.cs:49:16:49:18 | ...-- | Conditions.cs:49:22:49:22 | 0 | semmle.label | successor |
|
|
| Conditions.cs:49:16:49:18 | [b (line 46): false] ...-- | Conditions.cs:49:22:49:22 | [b (line 46): false] 0 | semmle.label | successor |
|
|
| Conditions.cs:49:16:49:18 | [b (line 46): true] ...-- | Conditions.cs:49:22:49:22 | [b (line 46): true] 0 | semmle.label | successor |
|
|
| Conditions.cs:49:16:49:22 | ... > ... | Conditions.cs:50:9:53:9 | {...} | semmle.label | true |
|
|
| Conditions.cs:49:16:49:22 | ... > ... | Conditions.cs:54:16:54:16 | access to local variable y | semmle.label | false |
|
|
| Conditions.cs:49:16:49:22 | [b (line 46): false] ... > ... | Conditions.cs:50:9:53:9 | [b (line 46): false] {...} | semmle.label | true |
|
|
| Conditions.cs:49:16:49:22 | [b (line 46): false] ... > ... | Conditions.cs:54:16:54:16 | access to local variable y | semmle.label | false |
|
|
| Conditions.cs:49:16:49:22 | [b (line 46): true] ... > ... | Conditions.cs:50:9:53:9 | [b (line 46): true] {...} | semmle.label | true |
|
|
| Conditions.cs:49:16:49:22 | [b (line 46): true] ... > ... | Conditions.cs:54:16:54:16 | access to local variable y | semmle.label | false |
|
|
| Conditions.cs:49:22:49:22 | 0 | Conditions.cs:49:16:49:22 | ... > ... | semmle.label | successor |
|
|
| Conditions.cs:49:22:49:22 | [b (line 46): false] 0 | Conditions.cs:49:16:49:22 | [b (line 46): false] ... > ... | semmle.label | successor |
|
|
| Conditions.cs:49:22:49:22 | [b (line 46): true] 0 | Conditions.cs:49:16:49:22 | [b (line 46): true] ... > ... | semmle.label | successor |
|
|
| Conditions.cs:50:9:53:9 | [b (line 46): false] {...} | Conditions.cs:51:13:52:20 | [b (line 46): false] if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:50:9:53:9 | [b (line 46): true] {...} | Conditions.cs:51:13:52:20 | [b (line 46): true] if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:50:9:53:9 | {...} | Conditions.cs:51:13:52:20 | if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:51:13:52:20 | [b (line 46): false] if (...) ... | Conditions.cs:51:17:51:17 | [b (line 46): false] access to parameter b | semmle.label | successor |
|
|
| Conditions.cs:51:13:52:20 | [b (line 46): true] if (...) ... | Conditions.cs:51:17:51:17 | [b (line 46): true] access to parameter b | semmle.label | successor |
|
|
| Conditions.cs:51:13:52:20 | if (...) ... | Conditions.cs:51:17:51:17 | access to parameter b | semmle.label | successor |
|
|
| Conditions.cs:51:17:51:17 | [b (line 46): false] access to parameter b | Conditions.cs:49:16:49:16 | [b (line 46): false] access to parameter x | semmle.label | false |
|
|
| Conditions.cs:51:17:51:17 | [b (line 46): true] access to parameter b | Conditions.cs:52:17:52:20 | [b (line 46): true] ...; | semmle.label | true |
|
|
| Conditions.cs:51:17:51:17 | access to parameter b | Conditions.cs:49:16:49:16 | [b (line 46): false] access to parameter x | semmle.label | false |
|
|
| Conditions.cs:51:17:51:17 | access to parameter b | Conditions.cs:52:17:52:20 | [b (line 46): true] ...; | semmle.label | true |
|
|
| Conditions.cs:52:17:52:17 | [b (line 46): true] access to local variable y | Conditions.cs:52:17:52:19 | [b (line 46): true] ...++ | semmle.label | successor |
|
|
| Conditions.cs:52:17:52:19 | [b (line 46): true] ...++ | Conditions.cs:49:16:49:16 | [b (line 46): true] access to parameter x | semmle.label | successor |
|
|
| Conditions.cs:52:17:52:20 | [b (line 46): true] ...; | Conditions.cs:52:17:52:17 | [b (line 46): true] access to local variable y | semmle.label | successor |
|
|
| Conditions.cs:54:9:54:17 | return ...; | Conditions.cs:46:9:46:10 | exit M4 | semmle.label | return |
|
|
| Conditions.cs:54:16:54:16 | access to local variable y | Conditions.cs:54:9:54:17 | return ...; | semmle.label | successor |
|
|
| Conditions.cs:57:9:57:10 | enter M5 | Conditions.cs:58:5:68:5 | {...} | semmle.label | successor |
|
|
| Conditions.cs:58:5:68:5 | {...} | Conditions.cs:59:9:59:18 | ... ...; | semmle.label | successor |
|
|
| Conditions.cs:59:9:59:18 | ... ...; | Conditions.cs:59:17:59:17 | 0 | semmle.label | successor |
|
|
| Conditions.cs:59:13:59:17 | Int32 y = ... | Conditions.cs:60:9:64:9 | while (...) ... | semmle.label | successor |
|
|
| Conditions.cs:59:17:59:17 | 0 | Conditions.cs:59:13:59:17 | Int32 y = ... | semmle.label | successor |
|
|
| Conditions.cs:60:9:64:9 | while (...) ... | Conditions.cs:60:16:60:16 | access to parameter x | semmle.label | successor |
|
|
| Conditions.cs:60:16:60:16 | [b (line 57): false] access to parameter x | Conditions.cs:60:16:60:18 | [b (line 57): false] ...-- | semmle.label | successor |
|
|
| Conditions.cs:60:16:60:16 | [b (line 57): true] access to parameter x | Conditions.cs:60:16:60:18 | [b (line 57): true] ...-- | semmle.label | successor |
|
|
| Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:60:16:60:18 | ...-- | semmle.label | successor |
|
|
| Conditions.cs:60:16:60:18 | ...-- | Conditions.cs:60:22:60:22 | 0 | semmle.label | successor |
|
|
| Conditions.cs:60:16:60:18 | [b (line 57): false] ...-- | Conditions.cs:60:22:60:22 | [b (line 57): false] 0 | semmle.label | successor |
|
|
| Conditions.cs:60:16:60:18 | [b (line 57): true] ...-- | Conditions.cs:60:22:60:22 | [b (line 57): true] 0 | semmle.label | successor |
|
|
| Conditions.cs:60:16:60:22 | ... > ... | Conditions.cs:61:9:64:9 | {...} | semmle.label | true |
|
|
| Conditions.cs:60:16:60:22 | ... > ... | Conditions.cs:65:9:66:16 | if (...) ... | semmle.label | false |
|
|
| Conditions.cs:60:16:60:22 | [b (line 57): false] ... > ... | Conditions.cs:61:9:64:9 | [b (line 57): false] {...} | semmle.label | true |
|
|
| Conditions.cs:60:16:60:22 | [b (line 57): false] ... > ... | Conditions.cs:65:9:66:16 | [b (line 57): false] if (...) ... | semmle.label | false |
|
|
| Conditions.cs:60:16:60:22 | [b (line 57): true] ... > ... | Conditions.cs:61:9:64:9 | [b (line 57): true] {...} | semmle.label | true |
|
|
| Conditions.cs:60:16:60:22 | [b (line 57): true] ... > ... | Conditions.cs:65:9:66:16 | [b (line 57): true] if (...) ... | semmle.label | false |
|
|
| Conditions.cs:60:22:60:22 | 0 | Conditions.cs:60:16:60:22 | ... > ... | semmle.label | successor |
|
|
| Conditions.cs:60:22:60:22 | [b (line 57): false] 0 | Conditions.cs:60:16:60:22 | [b (line 57): false] ... > ... | semmle.label | successor |
|
|
| Conditions.cs:60:22:60:22 | [b (line 57): true] 0 | Conditions.cs:60:16:60:22 | [b (line 57): true] ... > ... | semmle.label | successor |
|
|
| Conditions.cs:61:9:64:9 | [b (line 57): false] {...} | Conditions.cs:62:13:63:20 | [b (line 57): false] if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:61:9:64:9 | [b (line 57): true] {...} | Conditions.cs:62:13:63:20 | [b (line 57): true] if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:61:9:64:9 | {...} | Conditions.cs:62:13:63:20 | if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:62:13:63:20 | [b (line 57): false] if (...) ... | Conditions.cs:62:17:62:17 | [b (line 57): false] access to parameter b | semmle.label | successor |
|
|
| Conditions.cs:62:13:63:20 | [b (line 57): true] if (...) ... | Conditions.cs:62:17:62:17 | [b (line 57): true] access to parameter b | semmle.label | successor |
|
|
| Conditions.cs:62:13:63:20 | if (...) ... | Conditions.cs:62:17:62:17 | access to parameter b | semmle.label | successor |
|
|
| Conditions.cs:62:17:62:17 | [b (line 57): false] access to parameter b | Conditions.cs:60:16:60:16 | [b (line 57): false] access to parameter x | semmle.label | false |
|
|
| Conditions.cs:62:17:62:17 | [b (line 57): true] access to parameter b | Conditions.cs:63:17:63:20 | [b (line 57): true] ...; | semmle.label | true |
|
|
| Conditions.cs:62:17:62:17 | access to parameter b | Conditions.cs:60:16:60:16 | [b (line 57): false] access to parameter x | semmle.label | false |
|
|
| Conditions.cs:62:17:62:17 | access to parameter b | Conditions.cs:63:17:63:20 | [b (line 57): true] ...; | semmle.label | true |
|
|
| Conditions.cs:63:17:63:17 | [b (line 57): true] access to local variable y | Conditions.cs:63:17:63:19 | [b (line 57): true] ...++ | semmle.label | successor |
|
|
| Conditions.cs:63:17:63:19 | [b (line 57): true] ...++ | Conditions.cs:60:16:60:16 | [b (line 57): true] access to parameter x | semmle.label | successor |
|
|
| Conditions.cs:63:17:63:20 | [b (line 57): true] ...; | Conditions.cs:63:17:63:17 | [b (line 57): true] access to local variable y | semmle.label | successor |
|
|
| Conditions.cs:65:9:66:16 | [b (line 57): false] if (...) ... | Conditions.cs:65:13:65:13 | [b (line 57): false] access to parameter b | semmle.label | successor |
|
|
| Conditions.cs:65:9:66:16 | [b (line 57): true] if (...) ... | Conditions.cs:65:13:65:13 | [b (line 57): true] access to parameter b | semmle.label | successor |
|
|
| Conditions.cs:65:9:66:16 | if (...) ... | Conditions.cs:65:13:65:13 | access to parameter b | semmle.label | successor |
|
|
| Conditions.cs:65:13:65:13 | [b (line 57): false] access to parameter b | Conditions.cs:67:16:67:16 | access to local variable y | semmle.label | false |
|
|
| Conditions.cs:65:13:65:13 | [b (line 57): true] access to parameter b | Conditions.cs:66:13:66:16 | ...; | semmle.label | true |
|
|
| Conditions.cs:65:13:65:13 | access to parameter b | Conditions.cs:66:13:66:16 | ...; | semmle.label | true |
|
|
| Conditions.cs:65:13:65:13 | access to parameter b | Conditions.cs:67:16:67:16 | access to local variable y | semmle.label | false |
|
|
| Conditions.cs:66:13:66:13 | access to local variable y | Conditions.cs:66:13:66:15 | ...++ | semmle.label | successor |
|
|
| Conditions.cs:66:13:66:15 | ...++ | Conditions.cs:67:16:67:16 | access to local variable y | semmle.label | successor |
|
|
| Conditions.cs:66:13:66:16 | ...; | Conditions.cs:66:13:66:13 | access to local variable y | semmle.label | successor |
|
|
| Conditions.cs:67:9:67:17 | return ...; | Conditions.cs:57:9:57:10 | exit M5 | semmle.label | return |
|
|
| Conditions.cs:67:16:67:16 | access to local variable y | Conditions.cs:67:9:67:17 | return ...; | semmle.label | successor |
|
|
| Conditions.cs:70:9:70:10 | enter M6 | Conditions.cs:71:5:84:5 | {...} | semmle.label | successor |
|
|
| Conditions.cs:71:5:84:5 | {...} | Conditions.cs:72:9:72:30 | ... ...; | semmle.label | successor |
|
|
| Conditions.cs:72:9:72:30 | ... ...; | Conditions.cs:72:17:72:18 | access to parameter ss | semmle.label | successor |
|
|
| Conditions.cs:72:13:72:29 | Boolean b = ... | Conditions.cs:73:9:73:18 | ... ...; | semmle.label | successor |
|
|
| Conditions.cs:72:17:72:18 | access to parameter ss | Conditions.cs:72:17:72:25 | access to property Length | semmle.label | successor |
|
|
| Conditions.cs:72:17:72:25 | access to property Length | Conditions.cs:72:29:72:29 | 0 | semmle.label | successor |
|
|
| Conditions.cs:72:17:72:29 | ... > ... | Conditions.cs:72:13:72:29 | Boolean b = ... | semmle.label | successor |
|
|
| Conditions.cs:72:29:72:29 | 0 | Conditions.cs:72:17:72:29 | ... > ... | semmle.label | successor |
|
|
| Conditions.cs:73:9:73:18 | ... ...; | Conditions.cs:73:17:73:17 | 0 | semmle.label | successor |
|
|
| Conditions.cs:73:13:73:17 | Int32 x = ... | Conditions.cs:74:27:74:28 | access to parameter ss | semmle.label | successor |
|
|
| Conditions.cs:73:17:73:17 | 0 | Conditions.cs:73:13:73:17 | Int32 x = ... | semmle.label | successor |
|
|
| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:75:9:80:9 | {...} | semmle.label | non-empty |
|
|
| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:81:9:82:16 | if (...) ... | semmle.label | empty |
|
|
| Conditions.cs:74:27:74:28 | access to parameter ss | Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | semmle.label | successor |
|
|
| Conditions.cs:75:9:80:9 | {...} | Conditions.cs:76:13:77:20 | if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:76:13:77:20 | if (...) ... | Conditions.cs:76:17:76:17 | access to local variable b | semmle.label | successor |
|
|
| Conditions.cs:76:17:76:17 | access to local variable b | Conditions.cs:77:17:77:20 | ...; | semmle.label | true |
|
|
| Conditions.cs:76:17:76:17 | access to local variable b | Conditions.cs:78:13:79:26 | if (...) ... | semmle.label | false |
|
|
| Conditions.cs:77:17:77:17 | access to local variable x | Conditions.cs:77:17:77:19 | ...++ | semmle.label | successor |
|
|
| Conditions.cs:77:17:77:19 | ...++ | Conditions.cs:78:13:79:26 | if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:77:17:77:20 | ...; | Conditions.cs:77:17:77:17 | access to local variable x | semmle.label | successor |
|
|
| Conditions.cs:78:13:79:26 | if (...) ... | Conditions.cs:78:17:78:17 | access to local variable x | semmle.label | successor |
|
|
| Conditions.cs:78:17:78:17 | access to local variable x | Conditions.cs:78:21:78:21 | 0 | semmle.label | successor |
|
|
| Conditions.cs:78:17:78:21 | ... > ... | Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | semmle.label | false |
|
|
| Conditions.cs:78:17:78:21 | ... > ... | Conditions.cs:79:17:79:26 | ...; | semmle.label | true |
|
|
| Conditions.cs:78:21:78:21 | 0 | Conditions.cs:78:17:78:21 | ... > ... | semmle.label | successor |
|
|
| Conditions.cs:79:17:79:25 | ... = ... | Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | semmle.label | successor |
|
|
| Conditions.cs:79:17:79:26 | ...; | Conditions.cs:79:21:79:25 | false | semmle.label | successor |
|
|
| Conditions.cs:79:21:79:25 | false | Conditions.cs:79:17:79:25 | ... = ... | semmle.label | successor |
|
|
| Conditions.cs:81:9:82:16 | if (...) ... | Conditions.cs:81:12:81:12 | access to local variable b | semmle.label | successor |
|
|
| Conditions.cs:81:12:81:12 | access to local variable b | Conditions.cs:82:13:82:16 | ...; | semmle.label | true |
|
|
| Conditions.cs:81:12:81:12 | access to local variable b | Conditions.cs:83:16:83:16 | access to local variable x | semmle.label | false |
|
|
| Conditions.cs:82:13:82:13 | access to local variable x | Conditions.cs:82:13:82:15 | ...++ | semmle.label | successor |
|
|
| Conditions.cs:82:13:82:15 | ...++ | Conditions.cs:83:16:83:16 | access to local variable x | semmle.label | successor |
|
|
| Conditions.cs:82:13:82:16 | ...; | Conditions.cs:82:13:82:13 | access to local variable x | semmle.label | successor |
|
|
| Conditions.cs:83:9:83:17 | return ...; | Conditions.cs:70:9:70:10 | exit M6 | semmle.label | return |
|
|
| Conditions.cs:83:16:83:16 | access to local variable x | Conditions.cs:83:9:83:17 | return ...; | semmle.label | successor |
|
|
| Conditions.cs:86:9:86:10 | enter M7 | Conditions.cs:87:5:100:5 | {...} | semmle.label | successor |
|
|
| Conditions.cs:87:5:100:5 | {...} | Conditions.cs:88:9:88:30 | ... ...; | semmle.label | successor |
|
|
| Conditions.cs:88:9:88:30 | ... ...; | Conditions.cs:88:17:88:18 | access to parameter ss | semmle.label | successor |
|
|
| Conditions.cs:88:13:88:29 | Boolean b = ... | Conditions.cs:89:9:89:18 | ... ...; | semmle.label | successor |
|
|
| Conditions.cs:88:17:88:18 | access to parameter ss | Conditions.cs:88:17:88:25 | access to property Length | semmle.label | successor |
|
|
| Conditions.cs:88:17:88:25 | access to property Length | Conditions.cs:88:29:88:29 | 0 | semmle.label | successor |
|
|
| Conditions.cs:88:17:88:29 | ... > ... | Conditions.cs:88:13:88:29 | Boolean b = ... | semmle.label | successor |
|
|
| Conditions.cs:88:29:88:29 | 0 | Conditions.cs:88:17:88:29 | ... > ... | semmle.label | successor |
|
|
| Conditions.cs:89:9:89:18 | ... ...; | Conditions.cs:89:17:89:17 | 0 | semmle.label | successor |
|
|
| Conditions.cs:89:13:89:17 | Int32 x = ... | Conditions.cs:90:27:90:28 | access to parameter ss | semmle.label | successor |
|
|
| Conditions.cs:89:17:89:17 | 0 | Conditions.cs:89:13:89:17 | Int32 x = ... | semmle.label | successor |
|
|
| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:91:9:98:9 | {...} | semmle.label | non-empty |
|
|
| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:99:16:99:16 | access to local variable x | semmle.label | empty |
|
|
| Conditions.cs:90:27:90:28 | access to parameter ss | Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | semmle.label | successor |
|
|
| Conditions.cs:91:9:98:9 | {...} | Conditions.cs:92:13:93:20 | if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:92:13:93:20 | if (...) ... | Conditions.cs:92:17:92:17 | access to local variable b | semmle.label | successor |
|
|
| Conditions.cs:92:17:92:17 | access to local variable b | Conditions.cs:93:17:93:20 | ...; | semmle.label | true |
|
|
| Conditions.cs:92:17:92:17 | access to local variable b | Conditions.cs:94:13:95:26 | if (...) ... | semmle.label | false |
|
|
| Conditions.cs:93:17:93:17 | access to local variable x | Conditions.cs:93:17:93:19 | ...++ | semmle.label | successor |
|
|
| Conditions.cs:93:17:93:19 | ...++ | Conditions.cs:94:13:95:26 | if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:93:17:93:20 | ...; | Conditions.cs:93:17:93:17 | access to local variable x | semmle.label | successor |
|
|
| Conditions.cs:94:13:95:26 | if (...) ... | Conditions.cs:94:17:94:17 | access to local variable x | semmle.label | successor |
|
|
| Conditions.cs:94:17:94:17 | access to local variable x | Conditions.cs:94:21:94:21 | 0 | semmle.label | successor |
|
|
| Conditions.cs:94:17:94:21 | ... > ... | Conditions.cs:95:17:95:26 | ...; | semmle.label | true |
|
|
| Conditions.cs:94:17:94:21 | ... > ... | Conditions.cs:96:13:97:20 | if (...) ... | semmle.label | false |
|
|
| Conditions.cs:94:21:94:21 | 0 | Conditions.cs:94:17:94:21 | ... > ... | semmle.label | successor |
|
|
| Conditions.cs:95:17:95:25 | ... = ... | Conditions.cs:96:13:97:20 | if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:95:17:95:26 | ...; | Conditions.cs:95:21:95:25 | false | semmle.label | successor |
|
|
| Conditions.cs:95:21:95:25 | false | Conditions.cs:95:17:95:25 | ... = ... | semmle.label | successor |
|
|
| Conditions.cs:96:13:97:20 | if (...) ... | Conditions.cs:96:17:96:17 | access to local variable b | semmle.label | successor |
|
|
| Conditions.cs:96:17:96:17 | access to local variable b | Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | semmle.label | false |
|
|
| Conditions.cs:96:17:96:17 | access to local variable b | Conditions.cs:97:17:97:20 | ...; | semmle.label | true |
|
|
| Conditions.cs:97:17:97:17 | access to local variable x | Conditions.cs:97:17:97:19 | ...++ | semmle.label | successor |
|
|
| Conditions.cs:97:17:97:19 | ...++ | Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | semmle.label | successor |
|
|
| Conditions.cs:97:17:97:20 | ...; | Conditions.cs:97:17:97:17 | access to local variable x | semmle.label | successor |
|
|
| Conditions.cs:99:9:99:17 | return ...; | Conditions.cs:86:9:86:10 | exit M7 | semmle.label | return |
|
|
| Conditions.cs:99:16:99:16 | access to local variable x | Conditions.cs:99:9:99:17 | return ...; | semmle.label | successor |
|
|
| Conditions.cs:102:12:102:13 | enter M8 | Conditions.cs:103:5:111:5 | {...} | semmle.label | successor |
|
|
| Conditions.cs:103:5:111:5 | {...} | Conditions.cs:104:9:104:29 | ... ...; | semmle.label | successor |
|
|
| Conditions.cs:104:9:104:29 | ... ...; | Conditions.cs:104:17:104:17 | access to parameter b | semmle.label | successor |
|
|
| Conditions.cs:104:13:104:28 | String x = ... | Conditions.cs:105:9:106:20 | if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:104:17:104:17 | access to parameter b | Conditions.cs:104:17:104:28 | call to method ToString | semmle.label | successor |
|
|
| Conditions.cs:104:17:104:28 | call to method ToString | Conditions.cs:104:13:104:28 | String x = ... | semmle.label | successor |
|
|
| Conditions.cs:105:9:106:20 | if (...) ... | Conditions.cs:105:13:105:13 | access to parameter b | semmle.label | successor |
|
|
| Conditions.cs:105:13:105:13 | access to parameter b | Conditions.cs:106:13:106:20 | [b (line 102): true] ...; | semmle.label | true |
|
|
| Conditions.cs:105:13:105:13 | access to parameter b | Conditions.cs:107:9:109:24 | [b (line 102): false] if (...) ... | semmle.label | false |
|
|
| Conditions.cs:106:13:106:13 | [b (line 102): true] access to local variable x | Conditions.cs:106:18:106:19 | [b (line 102): true] "" | semmle.label | successor |
|
|
| Conditions.cs:106:13:106:19 | [b (line 102): true] ... + ... | Conditions.cs:106:13:106:19 | [b (line 102): true] ... = ... | semmle.label | successor |
|
|
| Conditions.cs:106:13:106:19 | [b (line 102): true] ... = ... | Conditions.cs:107:9:109:24 | [b (line 102): true] if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:106:13:106:20 | [b (line 102): true] ...; | Conditions.cs:106:13:106:13 | [b (line 102): true] access to local variable x | semmle.label | successor |
|
|
| Conditions.cs:106:18:106:19 | [b (line 102): true] "" | Conditions.cs:106:13:106:19 | [b (line 102): true] ... + ... | semmle.label | successor |
|
|
| Conditions.cs:107:9:109:24 | [b (line 102): false] if (...) ... | Conditions.cs:107:13:107:13 | [b (line 102): false] access to local variable x | semmle.label | successor |
|
|
| Conditions.cs:107:9:109:24 | [b (line 102): true] if (...) ... | Conditions.cs:107:13:107:13 | [b (line 102): true] access to local variable x | semmle.label | successor |
|
|
| Conditions.cs:107:13:107:13 | [b (line 102): false] access to local variable x | Conditions.cs:107:13:107:20 | [b (line 102): false] access to property Length | semmle.label | successor |
|
|
| Conditions.cs:107:13:107:13 | [b (line 102): true] access to local variable x | Conditions.cs:107:13:107:20 | [b (line 102): true] access to property Length | semmle.label | successor |
|
|
| Conditions.cs:107:13:107:20 | [b (line 102): false] access to property Length | Conditions.cs:107:24:107:24 | [b (line 102): false] 0 | semmle.label | successor |
|
|
| Conditions.cs:107:13:107:20 | [b (line 102): true] access to property Length | Conditions.cs:107:24:107:24 | [b (line 102): true] 0 | semmle.label | successor |
|
|
| Conditions.cs:107:13:107:24 | [b (line 102): false] ... > ... | Conditions.cs:108:13:109:24 | [b (line 102): false] if (...) ... | semmle.label | true |
|
|
| Conditions.cs:107:13:107:24 | [b (line 102): false] ... > ... | Conditions.cs:110:16:110:16 | access to local variable x | semmle.label | false |
|
|
| Conditions.cs:107:13:107:24 | [b (line 102): true] ... > ... | Conditions.cs:108:13:109:24 | [b (line 102): true] if (...) ... | semmle.label | true |
|
|
| Conditions.cs:107:13:107:24 | [b (line 102): true] ... > ... | Conditions.cs:110:16:110:16 | access to local variable x | semmle.label | false |
|
|
| Conditions.cs:107:24:107:24 | [b (line 102): false] 0 | Conditions.cs:107:13:107:24 | [b (line 102): false] ... > ... | semmle.label | successor |
|
|
| Conditions.cs:107:24:107:24 | [b (line 102): true] 0 | Conditions.cs:107:13:107:24 | [b (line 102): true] ... > ... | semmle.label | successor |
|
|
| Conditions.cs:108:13:109:24 | [b (line 102): false] if (...) ... | Conditions.cs:108:17:108:18 | [b (line 102): false] !... | semmle.label | successor |
|
|
| Conditions.cs:108:13:109:24 | [b (line 102): true] if (...) ... | Conditions.cs:108:17:108:18 | [b (line 102): true] !... | semmle.label | successor |
|
|
| Conditions.cs:108:17:108:18 | [b (line 102): false] !... | Conditions.cs:108:18:108:18 | [b (line 102): false] access to parameter b | semmle.label | successor |
|
|
| Conditions.cs:108:17:108:18 | [b (line 102): true] !... | Conditions.cs:108:18:108:18 | [b (line 102): true] access to parameter b | semmle.label | successor |
|
|
| Conditions.cs:108:18:108:18 | [b (line 102): false] access to parameter b | Conditions.cs:109:17:109:24 | ...; | semmle.label | false |
|
|
| Conditions.cs:108:18:108:18 | [b (line 102): true] access to parameter b | Conditions.cs:110:16:110:16 | access to local variable x | semmle.label | true |
|
|
| Conditions.cs:109:17:109:17 | access to local variable x | Conditions.cs:109:22:109:23 | "" | semmle.label | successor |
|
|
| Conditions.cs:109:17:109:23 | ... + ... | Conditions.cs:109:17:109:23 | ... = ... | semmle.label | successor |
|
|
| Conditions.cs:109:17:109:23 | ... = ... | Conditions.cs:110:16:110:16 | access to local variable x | semmle.label | successor |
|
|
| Conditions.cs:109:17:109:24 | ...; | Conditions.cs:109:17:109:17 | access to local variable x | semmle.label | successor |
|
|
| Conditions.cs:109:22:109:23 | "" | Conditions.cs:109:17:109:23 | ... + ... | semmle.label | successor |
|
|
| Conditions.cs:110:9:110:17 | return ...; | Conditions.cs:102:12:102:13 | exit M8 | semmle.label | return |
|
|
| Conditions.cs:110:16:110:16 | access to local variable x | Conditions.cs:110:9:110:17 | return ...; | semmle.label | successor |
|
|
| Conditions.cs:113:10:113:11 | enter M9 | Conditions.cs:114:5:124:5 | {...} | semmle.label | successor |
|
|
| Conditions.cs:114:5:124:5 | {...} | Conditions.cs:115:9:115:24 | ... ...; | semmle.label | successor |
|
|
| Conditions.cs:115:9:115:24 | ... ...; | Conditions.cs:115:20:115:23 | null | semmle.label | successor |
|
|
| Conditions.cs:115:16:115:23 | String s = ... | Conditions.cs:116:9:123:9 | for (...;...;...) ... | semmle.label | successor |
|
|
| Conditions.cs:115:20:115:23 | null | Conditions.cs:115:16:115:23 | String s = ... | semmle.label | successor |
|
|
| Conditions.cs:116:9:123:9 | for (...;...;...) ... | Conditions.cs:116:21:116:21 | 0 | semmle.label | successor |
|
|
| Conditions.cs:116:17:116:21 | Int32 i = ... | Conditions.cs:116:24:116:24 | access to local variable i | semmle.label | successor |
|
|
| Conditions.cs:116:21:116:21 | 0 | Conditions.cs:116:17:116:21 | Int32 i = ... | semmle.label | successor |
|
|
| Conditions.cs:116:24:116:24 | access to local variable i | Conditions.cs:116:28:116:31 | access to parameter args | semmle.label | successor |
|
|
| Conditions.cs:116:24:116:38 | ... < ... | Conditions.cs:113:10:113:11 | exit M9 | semmle.label | false |
|
|
| Conditions.cs:116:24:116:38 | ... < ... | Conditions.cs:117:9:123:9 | {...} | semmle.label | true |
|
|
| Conditions.cs:116:28:116:31 | access to parameter args | Conditions.cs:116:28:116:38 | access to property Length | semmle.label | successor |
|
|
| Conditions.cs:116:28:116:38 | access to property Length | Conditions.cs:116:24:116:38 | ... < ... | semmle.label | successor |
|
|
| Conditions.cs:116:41:116:41 | access to local variable i | Conditions.cs:116:41:116:43 | ...++ | semmle.label | successor |
|
|
| Conditions.cs:116:41:116:43 | ...++ | Conditions.cs:116:24:116:24 | access to local variable i | semmle.label | successor |
|
|
| Conditions.cs:117:9:123:9 | {...} | Conditions.cs:118:13:118:44 | ... ...; | semmle.label | successor |
|
|
| Conditions.cs:118:13:118:44 | ... ...; | Conditions.cs:118:24:118:24 | access to local variable i | semmle.label | successor |
|
|
| Conditions.cs:118:17:118:43 | Boolean last = ... | Conditions.cs:119:13:120:23 | if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:118:24:118:24 | access to local variable i | Conditions.cs:118:29:118:32 | access to parameter args | semmle.label | successor |
|
|
| Conditions.cs:118:24:118:43 | ... == ... | Conditions.cs:118:17:118:43 | Boolean last = ... | semmle.label | successor |
|
|
| Conditions.cs:118:29:118:32 | access to parameter args | Conditions.cs:118:29:118:39 | access to property Length | semmle.label | successor |
|
|
| Conditions.cs:118:29:118:39 | access to property Length | Conditions.cs:118:43:118:43 | 1 | semmle.label | successor |
|
|
| Conditions.cs:118:29:118:43 | ... - ... | Conditions.cs:118:24:118:43 | ... == ... | semmle.label | successor |
|
|
| Conditions.cs:118:43:118:43 | 1 | Conditions.cs:118:29:118:43 | ... - ... | semmle.label | successor |
|
|
| Conditions.cs:119:13:120:23 | if (...) ... | Conditions.cs:119:17:119:21 | !... | semmle.label | successor |
|
|
| Conditions.cs:119:17:119:21 | !... | Conditions.cs:119:18:119:21 | access to local variable last | semmle.label | successor |
|
|
| Conditions.cs:119:18:119:21 | access to local variable last | Conditions.cs:120:17:120:23 | [last (line 118): false] ...; | semmle.label | false |
|
|
| Conditions.cs:119:18:119:21 | access to local variable last | Conditions.cs:121:13:122:25 | [last (line 118): true] if (...) ... | semmle.label | true |
|
|
| Conditions.cs:120:17:120:22 | [last (line 118): false] ... = ... | Conditions.cs:121:13:122:25 | [last (line 118): false] if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:120:17:120:23 | [last (line 118): false] ...; | Conditions.cs:120:21:120:22 | [last (line 118): false] "" | semmle.label | successor |
|
|
| Conditions.cs:120:21:120:22 | [last (line 118): false] "" | Conditions.cs:120:17:120:22 | [last (line 118): false] ... = ... | semmle.label | successor |
|
|
| Conditions.cs:121:13:122:25 | [last (line 118): false] if (...) ... | Conditions.cs:121:17:121:20 | [last (line 118): false] access to local variable last | semmle.label | successor |
|
|
| Conditions.cs:121:13:122:25 | [last (line 118): true] if (...) ... | Conditions.cs:121:17:121:20 | [last (line 118): true] access to local variable last | semmle.label | successor |
|
|
| Conditions.cs:121:17:121:20 | [last (line 118): false] access to local variable last | Conditions.cs:116:41:116:41 | access to local variable i | semmle.label | false |
|
|
| Conditions.cs:121:17:121:20 | [last (line 118): true] access to local variable last | Conditions.cs:122:17:122:25 | ...; | semmle.label | true |
|
|
| Conditions.cs:122:17:122:24 | ... = ... | Conditions.cs:116:41:116:41 | access to local variable i | semmle.label | successor |
|
|
| Conditions.cs:122:17:122:25 | ...; | Conditions.cs:122:21:122:24 | null | semmle.label | successor |
|
|
| Conditions.cs:122:21:122:24 | null | Conditions.cs:122:17:122:24 | ... = ... | semmle.label | successor |
|
|
| Conditions.cs:129:10:129:12 | enter M10 | Conditions.cs:130:5:141:5 | {...} | semmle.label | successor |
|
|
| Conditions.cs:130:5:141:5 | {...} | Conditions.cs:131:9:140:9 | while (...) ... | semmle.label | successor |
|
|
| Conditions.cs:131:9:140:9 | while (...) ... | Conditions.cs:131:16:131:19 | true | semmle.label | successor |
|
|
| Conditions.cs:131:16:131:19 | [Field1 (line 129): false] true | Conditions.cs:132:9:140:9 | [Field1 (line 129): false] {...} | semmle.label | true |
|
|
| Conditions.cs:131:16:131:19 | [Field1 (line 129): true, Field2 (line 129): false] true | Conditions.cs:132:9:140:9 | [Field1 (line 129): true, Field2 (line 129): false] {...} | semmle.label | true |
|
|
| Conditions.cs:131:16:131:19 | [Field1 (line 129): true, Field2 (line 129): true] true | Conditions.cs:132:9:140:9 | [Field1 (line 129): true, Field2 (line 129): true] {...} | semmle.label | true |
|
|
| Conditions.cs:131:16:131:19 | true | Conditions.cs:132:9:140:9 | {...} | semmle.label | true |
|
|
| Conditions.cs:132:9:140:9 | [Field1 (line 129): false] {...} | Conditions.cs:133:13:139:13 | [Field1 (line 129): false] if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:132:9:140:9 | [Field1 (line 129): true, Field2 (line 129): false] {...} | Conditions.cs:133:13:139:13 | [Field1 (line 129): true, Field2 (line 129): false] if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:132:9:140:9 | [Field1 (line 129): true, Field2 (line 129): true] {...} | Conditions.cs:133:13:139:13 | [Field1 (line 129): true, Field2 (line 129): true] if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:132:9:140:9 | {...} | Conditions.cs:133:13:139:13 | if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:133:13:139:13 | [Field1 (line 129): false] if (...) ... | Conditions.cs:133:17:133:22 | [Field1 (line 129): false] this access | semmle.label | successor |
|
|
| Conditions.cs:133:13:139:13 | [Field1 (line 129): true, Field2 (line 129): false] if (...) ... | Conditions.cs:133:17:133:22 | [Field1 (line 129): true, Field2 (line 129): false] this access | semmle.label | successor |
|
|
| Conditions.cs:133:13:139:13 | [Field1 (line 129): true, Field2 (line 129): true] if (...) ... | Conditions.cs:133:17:133:22 | [Field1 (line 129): true, Field2 (line 129): true] this access | semmle.label | successor |
|
|
| Conditions.cs:133:13:139:13 | if (...) ... | Conditions.cs:133:17:133:22 | this access | semmle.label | successor |
|
|
| Conditions.cs:133:17:133:22 | [Field1 (line 129): false] access to field Field1 | Conditions.cs:131:16:131:19 | [Field1 (line 129): false] true | semmle.label | false |
|
|
| Conditions.cs:133:17:133:22 | [Field1 (line 129): false] this access | Conditions.cs:133:17:133:22 | [Field1 (line 129): false] access to field Field1 | semmle.label | successor |
|
|
| Conditions.cs:133:17:133:22 | [Field1 (line 129): true, Field2 (line 129): false] access to field Field1 | Conditions.cs:134:13:139:13 | [Field1 (line 129): true, Field2 (line 129): false] {...} | semmle.label | true |
|
|
| Conditions.cs:133:17:133:22 | [Field1 (line 129): true, Field2 (line 129): false] this access | Conditions.cs:133:17:133:22 | [Field1 (line 129): true, Field2 (line 129): false] access to field Field1 | semmle.label | successor |
|
|
| Conditions.cs:133:17:133:22 | [Field1 (line 129): true, Field2 (line 129): true] access to field Field1 | Conditions.cs:134:13:139:13 | [Field1 (line 129): true, Field2 (line 129): true] {...} | semmle.label | true |
|
|
| Conditions.cs:133:17:133:22 | [Field1 (line 129): true, Field2 (line 129): true] this access | Conditions.cs:133:17:133:22 | [Field1 (line 129): true, Field2 (line 129): true] access to field Field1 | semmle.label | successor |
|
|
| Conditions.cs:133:17:133:22 | access to field Field1 | Conditions.cs:131:16:131:19 | [Field1 (line 129): false] true | semmle.label | false |
|
|
| Conditions.cs:133:17:133:22 | access to field Field1 | Conditions.cs:134:13:139:13 | [Field1 (line 129): true] {...} | semmle.label | true |
|
|
| Conditions.cs:133:17:133:22 | this access | Conditions.cs:133:17:133:22 | access to field Field1 | semmle.label | successor |
|
|
| Conditions.cs:134:13:139:13 | [Field1 (line 129): true, Field2 (line 129): false] {...} | Conditions.cs:135:17:138:17 | [Field1 (line 129): true, Field2 (line 129): false] if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:134:13:139:13 | [Field1 (line 129): true, Field2 (line 129): true] {...} | Conditions.cs:135:17:138:17 | [Field1 (line 129): true, Field2 (line 129): true] if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:134:13:139:13 | [Field1 (line 129): true] {...} | Conditions.cs:135:17:138:17 | [Field1 (line 129): true] if (...) ... | semmle.label | successor |
|
|
| Conditions.cs:135:17:138:17 | [Field1 (line 129): true, Field2 (line 129): false] if (...) ... | Conditions.cs:135:21:135:26 | [Field1 (line 129): true, Field2 (line 129): false] this access | semmle.label | successor |
|
|
| Conditions.cs:135:17:138:17 | [Field1 (line 129): true, Field2 (line 129): true] if (...) ... | Conditions.cs:135:21:135:26 | [Field1 (line 129): true, Field2 (line 129): true] this access | semmle.label | successor |
|
|
| Conditions.cs:135:17:138:17 | [Field1 (line 129): true] if (...) ... | Conditions.cs:135:21:135:26 | [Field1 (line 129): true] this access | semmle.label | successor |
|
|
| Conditions.cs:135:21:135:26 | [Field1 (line 129): true, Field2 (line 129): false] access to field Field2 | Conditions.cs:131:16:131:19 | [Field1 (line 129): true, Field2 (line 129): false] true | semmle.label | false |
|
|
| Conditions.cs:135:21:135:26 | [Field1 (line 129): true, Field2 (line 129): false] this access | Conditions.cs:135:21:135:26 | [Field1 (line 129): true, Field2 (line 129): false] access to field Field2 | semmle.label | successor |
|
|
| Conditions.cs:135:21:135:26 | [Field1 (line 129): true, Field2 (line 129): true] access to field Field2 | Conditions.cs:136:17:138:17 | [Field1 (line 129): true, Field2 (line 129): true] {...} | semmle.label | true |
|
|
| Conditions.cs:135:21:135:26 | [Field1 (line 129): true, Field2 (line 129): true] this access | Conditions.cs:135:21:135:26 | [Field1 (line 129): true, Field2 (line 129): true] access to field Field2 | semmle.label | successor |
|
|
| Conditions.cs:135:21:135:26 | [Field1 (line 129): true] access to field Field2 | Conditions.cs:131:16:131:19 | [Field1 (line 129): true, Field2 (line 129): false] true | semmle.label | false |
|
|
| Conditions.cs:135:21:135:26 | [Field1 (line 129): true] access to field Field2 | Conditions.cs:136:17:138:17 | [Field1 (line 129): true, Field2 (line 129): true] {...} | semmle.label | true |
|
|
| Conditions.cs:135:21:135:26 | [Field1 (line 129): true] this access | Conditions.cs:135:21:135:26 | [Field1 (line 129): true] access to field Field2 | semmle.label | successor |
|
|
| Conditions.cs:136:17:138:17 | [Field1 (line 129): true, Field2 (line 129): true] {...} | Conditions.cs:137:21:137:38 | [Field1 (line 129): true, Field2 (line 129): true] ...; | semmle.label | successor |
|
|
| Conditions.cs:137:21:137:26 | [Field1 (line 129): true, Field2 (line 129): true] access to field Field1 | Conditions.cs:137:21:137:37 | [Field1 (line 129): true, Field2 (line 129): true] call to method ToString | semmle.label | successor |
|
|
| Conditions.cs:137:21:137:26 | [Field1 (line 129): true, Field2 (line 129): true] this access | Conditions.cs:137:21:137:26 | [Field1 (line 129): true, Field2 (line 129): true] access to field Field1 | semmle.label | successor |
|
|
| Conditions.cs:137:21:137:37 | [Field1 (line 129): true, Field2 (line 129): true] call to method ToString | Conditions.cs:131:16:131:19 | [Field1 (line 129): true, Field2 (line 129): true] true | semmle.label | successor |
|
|
| Conditions.cs:137:21:137:38 | [Field1 (line 129): true, Field2 (line 129): true] ...; | Conditions.cs:137:21:137:26 | [Field1 (line 129): true, Field2 (line 129): true] this access | semmle.label | successor |
|
|
| ExitMethods.cs:7:10:7:11 | enter M1 | ExitMethods.cs:8:5:11:5 | {...} | semmle.label | successor |
|
|
| ExitMethods.cs:8:5:11:5 | {...} | ExitMethods.cs:9:9:9:25 | ...; | semmle.label | successor |
|
|
| ExitMethods.cs:9:9:9:24 | call to method ErrorMaybe | ExitMethods.cs:10:9:10:15 | return ...; | semmle.label | successor |
|
|
| ExitMethods.cs:9:9:9:25 | ...; | ExitMethods.cs:9:20:9:23 | true | semmle.label | successor |
|
|
| ExitMethods.cs:9:20:9:23 | true | ExitMethods.cs:9:9:9:24 | call to method ErrorMaybe | semmle.label | successor |
|
|
| ExitMethods.cs:10:9:10:15 | return ...; | ExitMethods.cs:7:10:7:11 | exit M1 | semmle.label | return |
|
|
| ExitMethods.cs:13:10:13:11 | enter M2 | ExitMethods.cs:14:5:17:5 | {...} | semmle.label | successor |
|
|
| ExitMethods.cs:14:5:17:5 | {...} | ExitMethods.cs:15:9:15:26 | ...; | semmle.label | successor |
|
|
| ExitMethods.cs:15:9:15:25 | call to method ErrorMaybe | ExitMethods.cs:16:9:16:15 | return ...; | semmle.label | successor |
|
|
| ExitMethods.cs:15:9:15:26 | ...; | ExitMethods.cs:15:20:15:24 | false | semmle.label | successor |
|
|
| ExitMethods.cs:15:20:15:24 | false | ExitMethods.cs:15:9:15:25 | call to method ErrorMaybe | semmle.label | successor |
|
|
| ExitMethods.cs:16:9:16:15 | return ...; | ExitMethods.cs:13:10:13:11 | exit M2 | semmle.label | return |
|
|
| ExitMethods.cs:19:10:19:11 | enter M3 | ExitMethods.cs:20:5:23:5 | {...} | semmle.label | successor |
|
|
| ExitMethods.cs:20:5:23:5 | {...} | ExitMethods.cs:21:9:21:26 | ...; | semmle.label | successor |
|
|
| ExitMethods.cs:21:9:21:25 | call to method ErrorAlways | ExitMethods.cs:19:10:19:11 | exit M3 | semmle.label | exception(ArgumentException) |
|
|
| ExitMethods.cs:21:9:21:25 | call to method ErrorAlways | ExitMethods.cs:19:10:19:11 | exit M3 | semmle.label | exception(Exception) |
|
|
| ExitMethods.cs:21:9:21:26 | ...; | ExitMethods.cs:21:21:21:24 | true | semmle.label | successor |
|
|
| ExitMethods.cs:21:21:21:24 | true | ExitMethods.cs:21:9:21:25 | call to method ErrorAlways | semmle.label | successor |
|
|
| ExitMethods.cs:25:10:25:11 | enter M4 | ExitMethods.cs:26:5:29:5 | {...} | semmle.label | successor |
|
|
| ExitMethods.cs:26:5:29:5 | {...} | ExitMethods.cs:27:9:27:15 | ...; | semmle.label | successor |
|
|
| ExitMethods.cs:27:9:27:14 | call to method Exit | ExitMethods.cs:25:10:25:11 | exit M4 | semmle.label | exit |
|
|
| ExitMethods.cs:27:9:27:14 | this access | ExitMethods.cs:27:9:27:14 | call to method Exit | semmle.label | successor |
|
|
| ExitMethods.cs:27:9:27:15 | ...; | ExitMethods.cs:27:9:27:14 | this access | semmle.label | successor |
|
|
| ExitMethods.cs:31:10:31:11 | enter M5 | ExitMethods.cs:32:5:35:5 | {...} | semmle.label | successor |
|
|
| ExitMethods.cs:32:5:35:5 | {...} | ExitMethods.cs:33:9:33:26 | ...; | semmle.label | successor |
|
|
| ExitMethods.cs:33:9:33:25 | call to method ApplicationExit | ExitMethods.cs:31:10:31:11 | exit M5 | semmle.label | exit |
|
|
| ExitMethods.cs:33:9:33:25 | this access | ExitMethods.cs:33:9:33:25 | call to method ApplicationExit | semmle.label | successor |
|
|
| ExitMethods.cs:33:9:33:26 | ...; | ExitMethods.cs:33:9:33:25 | this access | semmle.label | successor |
|
|
| ExitMethods.cs:37:10:37:11 | enter M6 | ExitMethods.cs:38:5:51:5 | {...} | semmle.label | successor |
|
|
| ExitMethods.cs:38:5:51:5 | {...} | ExitMethods.cs:39:9:50:9 | try {...} ... | semmle.label | successor |
|
|
| ExitMethods.cs:39:9:50:9 | try {...} ... | ExitMethods.cs:40:9:42:9 | {...} | semmle.label | successor |
|
|
| ExitMethods.cs:40:9:42:9 | {...} | ExitMethods.cs:41:13:41:31 | ...; | semmle.label | successor |
|
|
| ExitMethods.cs:41:13:41:30 | call to method ErrorAlways | ExitMethods.cs:43:9:46:9 | [exception: ArgumentException] catch (...) {...} | semmle.label | exception(ArgumentException) |
|
|
| ExitMethods.cs:41:13:41:30 | call to method ErrorAlways | ExitMethods.cs:43:9:46:9 | [exception: Exception] catch (...) {...} | semmle.label | exception(Exception) |
|
|
| ExitMethods.cs:41:13:41:31 | ...; | ExitMethods.cs:41:25:41:29 | false | semmle.label | successor |
|
|
| ExitMethods.cs:41:25:41:29 | false | ExitMethods.cs:41:13:41:30 | call to method ErrorAlways | semmle.label | successor |
|
|
| ExitMethods.cs:43:9:46:9 | [exception: ArgumentException] catch (...) {...} | ExitMethods.cs:44:9:46:9 | {...} | semmle.label | match |
|
|
| ExitMethods.cs:43:9:46:9 | [exception: Exception] catch (...) {...} | ExitMethods.cs:44:9:46:9 | {...} | semmle.label | match |
|
|
| ExitMethods.cs:43:9:46:9 | [exception: Exception] catch (...) {...} | ExitMethods.cs:47:9:50:9 | [exception: Exception] catch (...) {...} | semmle.label | no-match |
|
|
| ExitMethods.cs:44:9:46:9 | {...} | ExitMethods.cs:45:13:45:19 | return ...; | semmle.label | successor |
|
|
| ExitMethods.cs:45:13:45:19 | return ...; | ExitMethods.cs:37:10:37:11 | exit M6 | semmle.label | return |
|
|
| ExitMethods.cs:47:9:50:9 | [exception: Exception] catch (...) {...} | ExitMethods.cs:48:9:50:9 | {...} | semmle.label | match |
|
|
| ExitMethods.cs:48:9:50:9 | {...} | ExitMethods.cs:49:13:49:19 | return ...; | semmle.label | successor |
|
|
| ExitMethods.cs:49:13:49:19 | return ...; | ExitMethods.cs:37:10:37:11 | exit M6 | semmle.label | return |
|
|
| ExitMethods.cs:53:10:53:11 | enter M7 | ExitMethods.cs:54:5:57:5 | {...} | semmle.label | successor |
|
|
| ExitMethods.cs:54:5:57:5 | {...} | ExitMethods.cs:55:9:55:23 | ...; | semmle.label | successor |
|
|
| ExitMethods.cs:55:9:55:22 | call to method ErrorAlways2 | ExitMethods.cs:53:10:53:11 | exit M7 | semmle.label | exception(Exception) |
|
|
| ExitMethods.cs:55:9:55:23 | ...; | ExitMethods.cs:55:9:55:22 | call to method ErrorAlways2 | semmle.label | successor |
|
|
| ExitMethods.cs:59:10:59:11 | enter M8 | ExitMethods.cs:60:5:63:5 | {...} | semmle.label | successor |
|
|
| ExitMethods.cs:60:5:63:5 | {...} | ExitMethods.cs:61:9:61:23 | ...; | semmle.label | successor |
|
|
| ExitMethods.cs:61:9:61:22 | call to method ErrorAlways3 | ExitMethods.cs:59:10:59:11 | exit M8 | semmle.label | exception(Exception) |
|
|
| ExitMethods.cs:61:9:61:23 | ...; | ExitMethods.cs:61:9:61:22 | call to method ErrorAlways3 | semmle.label | successor |
|
|
| ExitMethods.cs:65:17:65:26 | enter ErrorMaybe | ExitMethods.cs:66:5:69:5 | {...} | semmle.label | successor |
|
|
| ExitMethods.cs:66:5:69:5 | {...} | ExitMethods.cs:67:9:68:34 | if (...) ... | semmle.label | successor |
|
|
| ExitMethods.cs:67:9:68:34 | if (...) ... | ExitMethods.cs:67:13:67:13 | access to parameter b | semmle.label | successor |
|
|
| ExitMethods.cs:67:13:67:13 | access to parameter b | ExitMethods.cs:65:17:65:26 | exit ErrorMaybe | semmle.label | false |
|
|
| ExitMethods.cs:67:13:67:13 | access to parameter b | ExitMethods.cs:68:19:68:33 | object creation of type Exception | semmle.label | true |
|
|
| ExitMethods.cs:68:13:68:34 | throw ...; | ExitMethods.cs:65:17:65:26 | exit ErrorMaybe | semmle.label | exception(Exception) |
|
|
| ExitMethods.cs:68:19:68:33 | object creation of type Exception | ExitMethods.cs:68:13:68:34 | throw ...; | semmle.label | successor |
|
|
| ExitMethods.cs:71:17:71:27 | enter ErrorAlways | ExitMethods.cs:72:5:77:5 | {...} | semmle.label | successor |
|
|
| ExitMethods.cs:72:5:77:5 | {...} | ExitMethods.cs:73:9:76:45 | if (...) ... | semmle.label | successor |
|
|
| ExitMethods.cs:73:9:76:45 | if (...) ... | ExitMethods.cs:73:13:73:13 | access to parameter b | semmle.label | successor |
|
|
| ExitMethods.cs:73:13:73:13 | access to parameter b | ExitMethods.cs:74:19:74:33 | object creation of type Exception | semmle.label | true |
|
|
| ExitMethods.cs:73:13:73:13 | access to parameter b | ExitMethods.cs:76:41:76:43 | "b" | semmle.label | false |
|
|
| ExitMethods.cs:74:13:74:34 | throw ...; | ExitMethods.cs:71:17:71:27 | exit ErrorAlways | semmle.label | exception(Exception) |
|
|
| ExitMethods.cs:74:19:74:33 | object creation of type Exception | ExitMethods.cs:74:13:74:34 | throw ...; | semmle.label | successor |
|
|
| ExitMethods.cs:76:13:76:45 | throw ...; | ExitMethods.cs:71:17:71:27 | exit ErrorAlways | semmle.label | exception(ArgumentException) |
|
|
| ExitMethods.cs:76:19:76:44 | object creation of type ArgumentException | ExitMethods.cs:76:13:76:45 | throw ...; | semmle.label | successor |
|
|
| ExitMethods.cs:76:41:76:43 | "b" | ExitMethods.cs:76:19:76:44 | object creation of type ArgumentException | semmle.label | successor |
|
|
| ExitMethods.cs:79:17:79:28 | enter ErrorAlways2 | ExitMethods.cs:80:5:82:5 | {...} | semmle.label | successor |
|
|
| ExitMethods.cs:80:5:82:5 | {...} | ExitMethods.cs:81:15:81:29 | object creation of type Exception | semmle.label | successor |
|
|
| ExitMethods.cs:81:9:81:30 | throw ...; | ExitMethods.cs:79:17:79:28 | exit ErrorAlways2 | semmle.label | exception(Exception) |
|
|
| ExitMethods.cs:81:15:81:29 | object creation of type Exception | ExitMethods.cs:81:9:81:30 | throw ...; | semmle.label | successor |
|
|
| ExitMethods.cs:84:17:84:28 | enter ErrorAlways3 | ExitMethods.cs:84:41:84:55 | object creation of type Exception | semmle.label | successor |
|
|
| ExitMethods.cs:84:35:84:55 | throw ... | ExitMethods.cs:84:17:84:28 | exit ErrorAlways3 | semmle.label | exception(Exception) |
|
|
| ExitMethods.cs:84:41:84:55 | object creation of type Exception | ExitMethods.cs:84:35:84:55 | throw ... | semmle.label | successor |
|
|
| ExitMethods.cs:86:10:86:13 | enter Exit | ExitMethods.cs:87:5:89:5 | {...} | semmle.label | successor |
|
|
| ExitMethods.cs:87:5:89:5 | {...} | ExitMethods.cs:88:9:88:28 | ...; | semmle.label | successor |
|
|
| ExitMethods.cs:88:9:88:27 | call to method Exit | ExitMethods.cs:86:10:86:13 | exit Exit | semmle.label | exit |
|
|
| ExitMethods.cs:88:9:88:28 | ...; | ExitMethods.cs:88:26:88:26 | 0 | semmle.label | successor |
|
|
| ExitMethods.cs:88:26:88:26 | 0 | ExitMethods.cs:88:9:88:27 | call to method Exit | semmle.label | successor |
|
|
| ExitMethods.cs:91:10:91:18 | enter ExitInTry | ExitMethods.cs:92:5:102:5 | {...} | semmle.label | successor |
|
|
| ExitMethods.cs:92:5:102:5 | {...} | ExitMethods.cs:93:9:101:9 | try {...} ... | semmle.label | successor |
|
|
| ExitMethods.cs:93:9:101:9 | try {...} ... | ExitMethods.cs:94:9:96:9 | {...} | semmle.label | successor |
|
|
| ExitMethods.cs:94:9:96:9 | {...} | ExitMethods.cs:95:13:95:19 | ...; | semmle.label | successor |
|
|
| ExitMethods.cs:95:13:95:18 | call to method Exit | ExitMethods.cs:91:10:91:18 | exit ExitInTry | semmle.label | exit |
|
|
| ExitMethods.cs:95:13:95:18 | this access | ExitMethods.cs:95:13:95:18 | call to method Exit | semmle.label | successor |
|
|
| ExitMethods.cs:95:13:95:19 | ...; | ExitMethods.cs:95:13:95:18 | this access | semmle.label | successor |
|
|
| ExitMethods.cs:104:10:104:24 | enter ApplicationExit | ExitMethods.cs:105:5:107:5 | {...} | semmle.label | successor |
|
|
| ExitMethods.cs:105:5:107:5 | {...} | ExitMethods.cs:106:9:106:48 | ...; | semmle.label | successor |
|
|
| ExitMethods.cs:106:9:106:47 | call to method Exit | ExitMethods.cs:104:10:104:24 | exit ApplicationExit | semmle.label | exit |
|
|
| ExitMethods.cs:106:9:106:48 | ...; | ExitMethods.cs:106:9:106:47 | call to method Exit | semmle.label | successor |
|
|
| ExitMethods.cs:109:13:109:21 | enter ThrowExpr | ExitMethods.cs:110:5:112:5 | {...} | semmle.label | successor |
|
|
| ExitMethods.cs:110:5:112:5 | {...} | ExitMethods.cs:111:16:111:76 | ... ? ... : ... | semmle.label | successor |
|
|
| ExitMethods.cs:111:9:111:77 | return ...; | ExitMethods.cs:109:13:109:21 | exit ThrowExpr | semmle.label | return |
|
|
| ExitMethods.cs:111:16:111:20 | access to parameter input | ExitMethods.cs:111:25:111:25 | 0 | semmle.label | successor |
|
|
| ExitMethods.cs:111:16:111:25 | ... != ... | ExitMethods.cs:111:29:111:29 | 1 | semmle.label | true |
|
|
| ExitMethods.cs:111:16:111:25 | ... != ... | ExitMethods.cs:111:69:111:75 | "input" | semmle.label | false |
|
|
| ExitMethods.cs:111:16:111:76 | ... ? ... : ... | ExitMethods.cs:111:16:111:20 | access to parameter input | semmle.label | successor |
|
|
| ExitMethods.cs:111:25:111:25 | 0 | ExitMethods.cs:111:25:111:25 | (...) ... | semmle.label | successor |
|
|
| ExitMethods.cs:111:25:111:25 | (...) ... | ExitMethods.cs:111:16:111:25 | ... != ... | semmle.label | successor |
|
|
| ExitMethods.cs:111:29:111:29 | 1 | ExitMethods.cs:111:29:111:29 | (...) ... | semmle.label | successor |
|
|
| ExitMethods.cs:111:29:111:29 | (...) ... | ExitMethods.cs:111:33:111:37 | access to parameter input | semmle.label | successor |
|
|
| ExitMethods.cs:111:29:111:37 | ... / ... | ExitMethods.cs:111:9:111:77 | return ...; | semmle.label | successor |
|
|
| ExitMethods.cs:111:33:111:37 | access to parameter input | ExitMethods.cs:111:29:111:37 | ... / ... | semmle.label | successor |
|
|
| ExitMethods.cs:111:41:111:76 | throw ... | ExitMethods.cs:109:13:109:21 | exit ThrowExpr | semmle.label | exception(ArgumentException) |
|
|
| ExitMethods.cs:111:47:111:76 | object creation of type ArgumentException | ExitMethods.cs:111:41:111:76 | throw ... | semmle.label | successor |
|
|
| ExitMethods.cs:111:69:111:75 | "input" | ExitMethods.cs:111:47:111:76 | object creation of type ArgumentException | semmle.label | successor |
|
|
| ExitMethods.cs:114:16:114:34 | enter ExtensionMethodCall | ExitMethods.cs:115:5:117:5 | {...} | semmle.label | successor |
|
|
| ExitMethods.cs:115:5:117:5 | {...} | ExitMethods.cs:116:16:116:38 | ... ? ... : ... | semmle.label | successor |
|
|
| ExitMethods.cs:116:9:116:39 | return ...; | ExitMethods.cs:114:16:114:34 | exit ExtensionMethodCall | semmle.label | return |
|
|
| ExitMethods.cs:116:16:116:16 | access to parameter s | ExitMethods.cs:116:27:116:29 | - | semmle.label | successor |
|
|
| ExitMethods.cs:116:16:116:30 | call to method Contains | ExitMethods.cs:116:34:116:34 | 0 | semmle.label | true |
|
|
| ExitMethods.cs:116:16:116:30 | call to method Contains | ExitMethods.cs:116:38:116:38 | 1 | semmle.label | false |
|
|
| ExitMethods.cs:116:16:116:38 | ... ? ... : ... | ExitMethods.cs:116:16:116:16 | access to parameter s | semmle.label | successor |
|
|
| ExitMethods.cs:116:27:116:29 | - | ExitMethods.cs:116:16:116:30 | call to method Contains | semmle.label | successor |
|
|
| ExitMethods.cs:116:34:116:34 | 0 | ExitMethods.cs:116:9:116:39 | return ...; | semmle.label | successor |
|
|
| ExitMethods.cs:116:38:116:38 | 1 | ExitMethods.cs:116:9:116:39 | return ...; | semmle.label | successor |
|
|
| ExitMethods.cs:119:17:119:32 | enter FailingAssertion | ExitMethods.cs:120:5:123:5 | {...} | semmle.label | successor |
|
|
| ExitMethods.cs:120:5:123:5 | {...} | ExitMethods.cs:121:9:121:29 | ...; | semmle.label | successor |
|
|
| ExitMethods.cs:121:9:121:28 | call to method IsTrue | ExitMethods.cs:119:17:119:32 | exit FailingAssertion | semmle.label | exception(AssertFailedException) |
|
|
| ExitMethods.cs:121:9:121:29 | ...; | ExitMethods.cs:121:23:121:27 | false | semmle.label | successor |
|
|
| ExitMethods.cs:121:23:121:27 | false | ExitMethods.cs:121:9:121:28 | call to method IsTrue | semmle.label | successor |
|
|
| ExitMethods.cs:125:17:125:33 | enter FailingAssertion2 | ExitMethods.cs:126:5:129:5 | {...} | semmle.label | successor |
|
|
| ExitMethods.cs:126:5:129:5 | {...} | ExitMethods.cs:127:9:127:27 | ...; | semmle.label | successor |
|
|
| ExitMethods.cs:127:9:127:26 | call to method FailingAssertion | ExitMethods.cs:125:17:125:33 | exit FailingAssertion2 | semmle.label | exception(AssertFailedException) |
|
|
| ExitMethods.cs:127:9:127:26 | this access | ExitMethods.cs:127:9:127:26 | call to method FailingAssertion | semmle.label | successor |
|
|
| ExitMethods.cs:127:9:127:27 | ...; | ExitMethods.cs:127:9:127:26 | this access | semmle.label | successor |
|
|
| ExitMethods.cs:131:10:131:20 | enter AssertFalse | ExitMethods.cs:131:48:131:48 | access to parameter b | semmle.label | successor |
|
|
| ExitMethods.cs:131:33:131:49 | call to method IsFalse | ExitMethods.cs:131:10:131:20 | exit AssertFalse | semmle.label | successor |
|
|
| ExitMethods.cs:131:48:131:48 | access to parameter b | ExitMethods.cs:131:33:131:49 | call to method IsFalse | semmle.label | successor |
|
|
| ExitMethods.cs:133:17:133:33 | enter FailingAssertion3 | ExitMethods.cs:134:5:137:5 | {...} | semmle.label | successor |
|
|
| ExitMethods.cs:134:5:137:5 | {...} | ExitMethods.cs:135:9:135:26 | ...; | semmle.label | successor |
|
|
| ExitMethods.cs:135:9:135:25 | call to method AssertFalse | ExitMethods.cs:133:17:133:33 | exit FailingAssertion3 | semmle.label | exception(AssertFailedException) |
|
|
| ExitMethods.cs:135:9:135:25 | this access | ExitMethods.cs:135:21:135:24 | true | semmle.label | successor |
|
|
| ExitMethods.cs:135:9:135:26 | ...; | ExitMethods.cs:135:9:135:25 | this access | semmle.label | successor |
|
|
| ExitMethods.cs:135:21:135:24 | true | ExitMethods.cs:135:9:135:25 | call to method AssertFalse | semmle.label | successor |
|
|
| Extensions.cs:5:23:5:29 | enter ToInt32 | Extensions.cs:6:5:8:5 | {...} | semmle.label | successor |
|
|
| Extensions.cs:6:5:8:5 | {...} | Extensions.cs:7:28:7:28 | access to parameter s | semmle.label | successor |
|
|
| Extensions.cs:7:9:7:30 | return ...; | Extensions.cs:5:23:5:29 | exit ToInt32 | semmle.label | return |
|
|
| Extensions.cs:7:16:7:29 | call to method Parse | Extensions.cs:7:9:7:30 | return ...; | semmle.label | successor |
|
|
| Extensions.cs:7:28:7:28 | access to parameter s | Extensions.cs:7:16:7:29 | call to method Parse | semmle.label | successor |
|
|
| Extensions.cs:10:24:10:29 | enter ToBool | Extensions.cs:11:5:13:5 | {...} | semmle.label | successor |
|
|
| Extensions.cs:11:5:13:5 | {...} | Extensions.cs:12:16:12:16 | access to parameter f | semmle.label | successor |
|
|
| Extensions.cs:12:9:12:20 | return ...; | Extensions.cs:10:24:10:29 | exit ToBool | semmle.label | return |
|
|
| Extensions.cs:12:16:12:16 | access to parameter f | Extensions.cs:12:18:12:18 | access to parameter s | semmle.label | successor |
|
|
| Extensions.cs:12:16:12:19 | delegate call | Extensions.cs:12:9:12:20 | return ...; | semmle.label | successor |
|
|
| Extensions.cs:12:18:12:18 | access to parameter s | Extensions.cs:12:16:12:19 | delegate call | semmle.label | successor |
|
|
| Extensions.cs:15:23:15:33 | enter CallToInt32 | Extensions.cs:15:48:15:50 | "0" | semmle.label | successor |
|
|
| Extensions.cs:15:40:15:51 | call to method ToInt32 | Extensions.cs:15:23:15:33 | exit CallToInt32 | semmle.label | successor |
|
|
| Extensions.cs:15:48:15:50 | "0" | Extensions.cs:15:40:15:51 | call to method ToInt32 | semmle.label | successor |
|
|
| Extensions.cs:20:17:20:20 | enter Main | Extensions.cs:21:5:26:5 | {...} | semmle.label | successor |
|
|
| Extensions.cs:21:5:26:5 | {...} | Extensions.cs:22:9:22:20 | ...; | semmle.label | successor |
|
|
| Extensions.cs:22:9:22:9 | access to parameter s | Extensions.cs:22:9:22:19 | call to method ToInt32 | semmle.label | successor |
|
|
| Extensions.cs:22:9:22:19 | call to method ToInt32 | Extensions.cs:23:9:23:31 | ...; | semmle.label | successor |
|
|
| Extensions.cs:22:9:22:20 | ...; | Extensions.cs:22:9:22:9 | access to parameter s | semmle.label | successor |
|
|
| Extensions.cs:23:9:23:30 | call to method ToInt32 | Extensions.cs:24:9:24:46 | ...; | semmle.label | successor |
|
|
| Extensions.cs:23:9:23:31 | ...; | Extensions.cs:23:28:23:29 | "" | semmle.label | successor |
|
|
| Extensions.cs:23:28:23:29 | "" | Extensions.cs:23:9:23:30 | call to method ToInt32 | semmle.label | successor |
|
|
| Extensions.cs:24:9:24:45 | call to method ToBool | Extensions.cs:25:9:25:34 | ...; | semmle.label | successor |
|
|
| Extensions.cs:24:9:24:46 | ...; | Extensions.cs:24:27:24:32 | "true" | semmle.label | successor |
|
|
| Extensions.cs:24:27:24:32 | "true" | Extensions.cs:24:35:24:44 | access to method Parse | semmle.label | successor |
|
|
| Extensions.cs:24:35:24:44 | access to method Parse | Extensions.cs:24:35:24:44 | delegate creation of type Func<String,Boolean> | semmle.label | successor |
|
|
| Extensions.cs:24:35:24:44 | delegate creation of type Func<String,Boolean> | Extensions.cs:24:9:24:45 | call to method ToBool | semmle.label | successor |
|
|
| Extensions.cs:25:9:25:14 | "true" | Extensions.cs:25:23:25:32 | access to method Parse | semmle.label | successor |
|
|
| Extensions.cs:25:9:25:33 | call to method ToBool | Extensions.cs:20:17:20:20 | exit Main | semmle.label | successor |
|
|
| Extensions.cs:25:9:25:34 | ...; | Extensions.cs:25:9:25:14 | "true" | semmle.label | successor |
|
|
| Extensions.cs:25:23:25:32 | access to method Parse | Extensions.cs:25:23:25:32 | delegate creation of type Func<String,Boolean> | semmle.label | successor |
|
|
| Extensions.cs:25:23:25:32 | delegate creation of type Func<String,Boolean> | Extensions.cs:25:9:25:33 | call to method ToBool | semmle.label | successor |
|
|
| Foreach.cs:6:10:6:11 | enter M1 | Foreach.cs:7:5:10:5 | {...} | semmle.label | successor |
|
|
| Foreach.cs:7:5:10:5 | {...} | Foreach.cs:8:29:8:32 | access to parameter args | semmle.label | successor |
|
|
| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:6:10:6:11 | exit M1 | semmle.label | empty |
|
|
| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:8:22:8:24 | String arg | semmle.label | non-empty |
|
|
| Foreach.cs:8:22:8:24 | String arg | Foreach.cs:9:13:9:13 | ; | semmle.label | successor |
|
|
| Foreach.cs:8:29:8:32 | access to parameter args | Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | semmle.label | successor |
|
|
| Foreach.cs:9:13:9:13 | ; | Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | semmle.label | successor |
|
|
| Foreach.cs:12:10:12:11 | enter M2 | Foreach.cs:13:5:16:5 | {...} | semmle.label | successor |
|
|
| Foreach.cs:13:5:16:5 | {...} | Foreach.cs:14:27:14:30 | access to parameter args | semmle.label | successor |
|
|
| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:12:10:12:11 | exit M2 | semmle.label | empty |
|
|
| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:15:13:15:13 | ; | semmle.label | non-empty |
|
|
| Foreach.cs:14:27:14:30 | access to parameter args | Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | semmle.label | successor |
|
|
| Foreach.cs:15:13:15:13 | ; | Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | semmle.label | successor |
|
|
| Foreach.cs:18:10:18:11 | enter M3 | Foreach.cs:19:5:22:5 | {...} | semmle.label | successor |
|
|
| Foreach.cs:19:5:22:5 | {...} | Foreach.cs:20:27:20:68 | ... ?? ... | semmle.label | successor |
|
|
| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:18:10:18:11 | exit M3 | semmle.label | empty |
|
|
| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:20:22:20:22 | String x | semmle.label | non-empty |
|
|
| Foreach.cs:20:22:20:22 | String x | Foreach.cs:21:11:21:11 | ; | semmle.label | successor |
|
|
| Foreach.cs:20:27:20:27 | access to parameter e | Foreach.cs:20:29:20:38 | call to method ToArray | semmle.label | non-null |
|
|
| Foreach.cs:20:27:20:27 | access to parameter e | Foreach.cs:20:43:20:68 | call to method Empty | semmle.label | null |
|
|
| Foreach.cs:20:27:20:68 | ... ?? ... | Foreach.cs:20:27:20:27 | access to parameter e | semmle.label | successor |
|
|
| Foreach.cs:20:29:20:38 | call to method ToArray | Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | semmle.label | non-null |
|
|
| Foreach.cs:20:29:20:38 | call to method ToArray | Foreach.cs:20:43:20:68 | call to method Empty | semmle.label | null |
|
|
| Foreach.cs:20:43:20:68 | call to method Empty | Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | semmle.label | successor |
|
|
| Foreach.cs:21:11:21:11 | ; | Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | semmle.label | successor |
|
|
| Foreach.cs:24:10:24:11 | enter M4 | Foreach.cs:25:5:28:5 | {...} | semmle.label | successor |
|
|
| Foreach.cs:25:5:28:5 | {...} | Foreach.cs:26:36:26:39 | access to parameter args | semmle.label | successor |
|
|
| Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:24:10:24:11 | exit M4 | semmle.label | empty |
|
|
| Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:26:23:26:23 | String x | semmle.label | non-empty |
|
|
| Foreach.cs:26:18:26:31 | (..., ...) | Foreach.cs:27:11:27:11 | ; | semmle.label | successor |
|
|
| Foreach.cs:26:23:26:23 | String x | Foreach.cs:26:30:26:30 | Int32 y | semmle.label | successor |
|
|
| Foreach.cs:26:30:26:30 | Int32 y | Foreach.cs:26:18:26:31 | (..., ...) | semmle.label | successor |
|
|
| Foreach.cs:26:36:26:39 | access to parameter args | Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | semmle.label | successor |
|
|
| Foreach.cs:27:11:27:11 | ; | Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | semmle.label | successor |
|
|
| Foreach.cs:30:10:30:11 | enter M5 | Foreach.cs:31:5:34:5 | {...} | semmle.label | successor |
|
|
| Foreach.cs:31:5:34:5 | {...} | Foreach.cs:32:32:32:35 | access to parameter args | semmle.label | successor |
|
|
| Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:30:10:30:11 | exit M5 | semmle.label | empty |
|
|
| Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:32:23:32:23 | String x | semmle.label | non-empty |
|
|
| Foreach.cs:32:18:32:27 | (..., ...) | Foreach.cs:33:11:33:11 | ; | semmle.label | successor |
|
|
| Foreach.cs:32:23:32:23 | String x | Foreach.cs:32:26:32:26 | Int32 y | semmle.label | successor |
|
|
| Foreach.cs:32:26:32:26 | Int32 y | Foreach.cs:32:18:32:27 | (..., ...) | semmle.label | successor |
|
|
| Foreach.cs:32:32:32:35 | access to parameter args | Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | semmle.label | successor |
|
|
| Foreach.cs:33:11:33:11 | ; | Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | semmle.label | successor |
|
|
| Foreach.cs:36:10:36:11 | enter M6 | Foreach.cs:37:5:40:5 | {...} | semmle.label | successor |
|
|
| Foreach.cs:37:5:40:5 | {...} | Foreach.cs:38:39:38:42 | access to parameter args | semmle.label | successor |
|
|
| Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:36:10:36:11 | exit M6 | semmle.label | empty |
|
|
| Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:38:26:38:26 | String x | semmle.label | non-empty |
|
|
| Foreach.cs:38:18:38:34 | (..., ...) | Foreach.cs:39:11:39:11 | ; | semmle.label | successor |
|
|
| Foreach.cs:38:26:38:26 | String x | Foreach.cs:38:33:38:33 | Int32 y | semmle.label | successor |
|
|
| Foreach.cs:38:33:38:33 | Int32 y | Foreach.cs:38:18:38:34 | (..., ...) | semmle.label | successor |
|
|
| Foreach.cs:38:39:38:42 | access to parameter args | Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | semmle.label | successor |
|
|
| Foreach.cs:39:11:39:11 | ; | Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | semmle.label | successor |
|
|
| Initializers.cs:3:9:3:9 | this access | Initializers.cs:3:13:3:13 | access to field H | semmle.label | successor |
|
|
| Initializers.cs:3:9:3:9 | this access | Initializers.cs:3:13:3:13 | access to field H | semmle.label | successor |
|
|
| Initializers.cs:3:9:3:17 | ... = ... | Initializers.cs:4:9:4:9 | this access | semmle.label | successor |
|
|
| Initializers.cs:3:9:3:17 | ... = ... | Initializers.cs:4:9:4:9 | this access | semmle.label | successor |
|
|
| Initializers.cs:3:13:3:13 | access to field H | Initializers.cs:3:17:3:17 | 1 | semmle.label | successor |
|
|
| Initializers.cs:3:13:3:13 | access to field H | Initializers.cs:3:17:3:17 | 1 | semmle.label | successor |
|
|
| Initializers.cs:3:13:3:17 | ... + ... | Initializers.cs:3:9:3:17 | ... = ... | semmle.label | successor |
|
|
| Initializers.cs:3:13:3:17 | ... + ... | Initializers.cs:3:9:3:17 | ... = ... | semmle.label | successor |
|
|
| Initializers.cs:3:17:3:17 | 1 | Initializers.cs:3:13:3:17 | ... + ... | semmle.label | successor |
|
|
| Initializers.cs:3:17:3:17 | 1 | Initializers.cs:3:13:3:17 | ... + ... | semmle.label | successor |
|
|
| Initializers.cs:4:9:4:9 | access to property G | Initializers.cs:4:25:4:31 | ... = ... | semmle.label | successor |
|
|
| Initializers.cs:4:9:4:9 | access to property G | Initializers.cs:4:25:4:31 | ... = ... | semmle.label | successor |
|
|
| Initializers.cs:4:9:4:9 | this access | Initializers.cs:4:27:4:27 | access to field H | semmle.label | successor |
|
|
| Initializers.cs:4:9:4:9 | this access | Initializers.cs:4:27:4:27 | access to field H | semmle.label | successor |
|
|
| Initializers.cs:4:25:4:31 | ... = ... | Initializers.cs:6:20:6:22 | {...} | semmle.label | successor |
|
|
| Initializers.cs:4:25:4:31 | ... = ... | Initializers.cs:8:28:8:30 | {...} | semmle.label | successor |
|
|
| Initializers.cs:4:27:4:27 | access to field H | Initializers.cs:4:31:4:31 | 2 | semmle.label | successor |
|
|
| Initializers.cs:4:27:4:27 | access to field H | Initializers.cs:4:31:4:31 | 2 | semmle.label | successor |
|
|
| Initializers.cs:4:27:4:31 | ... + ... | Initializers.cs:4:9:4:9 | access to property G | semmle.label | successor |
|
|
| Initializers.cs:4:27:4:31 | ... + ... | Initializers.cs:4:9:4:9 | access to property G | semmle.label | successor |
|
|
| Initializers.cs:4:31:4:31 | 2 | Initializers.cs:4:27:4:31 | ... + ... | semmle.label | successor |
|
|
| Initializers.cs:4:31:4:31 | 2 | Initializers.cs:4:27:4:31 | ... + ... | semmle.label | successor |
|
|
| Initializers.cs:6:5:6:16 | enter Initializers | Initializers.cs:3:9:3:9 | this access | semmle.label | successor |
|
|
| Initializers.cs:6:20:6:22 | {...} | Initializers.cs:6:5:6:16 | exit Initializers | semmle.label | successor |
|
|
| Initializers.cs:8:5:8:16 | enter Initializers | Initializers.cs:3:9:3:9 | this access | semmle.label | successor |
|
|
| Initializers.cs:8:28:8:30 | {...} | Initializers.cs:8:5:8:16 | exit Initializers | semmle.label | successor |
|
|
| Initializers.cs:10:10:10:10 | enter M | Initializers.cs:11:5:14:5 | {...} | semmle.label | successor |
|
|
| Initializers.cs:11:5:14:5 | {...} | Initializers.cs:12:9:12:54 | ... ...; | semmle.label | successor |
|
|
| Initializers.cs:12:9:12:54 | ... ...; | Initializers.cs:12:34:12:35 | "" | semmle.label | successor |
|
|
| Initializers.cs:12:13:12:53 | Initializers i = ... | Initializers.cs:13:9:13:64 | ... ...; | semmle.label | successor |
|
|
| Initializers.cs:12:17:12:53 | object creation of type Initializers | Initializers.cs:12:44:12:44 | 0 | semmle.label | successor |
|
|
| Initializers.cs:12:34:12:35 | "" | Initializers.cs:12:17:12:53 | object creation of type Initializers | semmle.label | successor |
|
|
| Initializers.cs:12:38:12:53 | { ..., ... } | Initializers.cs:12:13:12:53 | Initializers i = ... | semmle.label | successor |
|
|
| Initializers.cs:12:40:12:44 | ... = ... | Initializers.cs:12:51:12:51 | 1 | semmle.label | successor |
|
|
| Initializers.cs:12:44:12:44 | 0 | Initializers.cs:12:40:12:44 | ... = ... | semmle.label | successor |
|
|
| Initializers.cs:12:47:12:47 | access to property G | Initializers.cs:12:47:12:51 | ... = ... | semmle.label | successor |
|
|
| Initializers.cs:12:47:12:51 | ... = ... | Initializers.cs:12:38:12:53 | { ..., ... } | semmle.label | successor |
|
|
| Initializers.cs:12:51:12:51 | 1 | Initializers.cs:12:47:12:47 | access to property G | semmle.label | successor |
|
|
| Initializers.cs:13:9:13:64 | ... ...; | Initializers.cs:13:18:13:63 | array creation of type Initializers[] | semmle.label | successor |
|
|
| Initializers.cs:13:13:13:63 | Initializers[] iz = ... | Initializers.cs:10:10:10:10 | exit M | semmle.label | successor |
|
|
| Initializers.cs:13:18:13:63 | array creation of type Initializers[] | Initializers.cs:13:39:13:39 | access to local variable i | semmle.label | successor |
|
|
| Initializers.cs:13:37:13:63 | { ..., ... } | Initializers.cs:13:13:13:63 | Initializers[] iz = ... | semmle.label | successor |
|
|
| Initializers.cs:13:39:13:39 | access to local variable i | Initializers.cs:13:59:13:60 | "" | semmle.label | successor |
|
|
| Initializers.cs:13:42:13:61 | object creation of type Initializers | Initializers.cs:13:37:13:63 | { ..., ... } | semmle.label | successor |
|
|
| Initializers.cs:13:59:13:60 | "" | Initializers.cs:13:42:13:61 | object creation of type Initializers | semmle.label | successor |
|
|
| Initializers.cs:16:20:16:20 | 1 | Initializers.cs:16:16:16:20 | ... = ... | semmle.label | successor |
|
|
| Initializers.cs:18:11:18:23 | enter NoConstructor | Initializers.cs:20:13:20:13 | this access | semmle.label | successor |
|
|
| Initializers.cs:20:13:20:13 | this access | Initializers.cs:20:17:20:17 | 0 | semmle.label | successor |
|
|
| Initializers.cs:20:13:20:17 | ... = ... | Initializers.cs:21:13:21:13 | this access | semmle.label | successor |
|
|
| Initializers.cs:20:17:20:17 | 0 | Initializers.cs:20:13:20:17 | ... = ... | semmle.label | successor |
|
|
| Initializers.cs:21:13:21:13 | this access | Initializers.cs:21:17:21:17 | 1 | semmle.label | successor |
|
|
| Initializers.cs:21:13:21:17 | ... = ... | Initializers.cs:18:11:18:23 | exit NoConstructor | semmle.label | successor |
|
|
| Initializers.cs:21:17:21:17 | 1 | Initializers.cs:21:13:21:17 | ... = ... | semmle.label | successor |
|
|
| NullCoalescing.cs:3:9:3:10 | enter M1 | NullCoalescing.cs:3:23:3:28 | ... ?? ... | semmle.label | successor |
|
|
| NullCoalescing.cs:3:23:3:23 | access to parameter i | NullCoalescing.cs:3:9:3:10 | exit M1 | semmle.label | non-null |
|
|
| NullCoalescing.cs:3:23:3:23 | access to parameter i | NullCoalescing.cs:3:28:3:28 | 0 | semmle.label | null |
|
|
| NullCoalescing.cs:3:23:3:28 | ... ?? ... | NullCoalescing.cs:3:23:3:23 | access to parameter i | semmle.label | successor |
|
|
| NullCoalescing.cs:3:28:3:28 | 0 | NullCoalescing.cs:3:9:3:10 | exit M1 | semmle.label | successor |
|
|
| NullCoalescing.cs:5:9:5:10 | enter M2 | NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | semmle.label | successor |
|
|
| NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | NullCoalescing.cs:5:25:5:34 | ... ?? ... | semmle.label | successor |
|
|
| NullCoalescing.cs:5:25:5:25 | access to parameter b | NullCoalescing.cs:5:30:5:34 | false | semmle.label | null |
|
|
| NullCoalescing.cs:5:25:5:25 | access to parameter b | NullCoalescing.cs:5:39:5:39 | 0 | semmle.label | true |
|
|
| NullCoalescing.cs:5:25:5:25 | access to parameter b | NullCoalescing.cs:5:43:5:43 | 1 | semmle.label | false |
|
|
| NullCoalescing.cs:5:25:5:34 | ... ?? ... | NullCoalescing.cs:5:25:5:25 | access to parameter b | semmle.label | successor |
|
|
| NullCoalescing.cs:5:30:5:34 | false | NullCoalescing.cs:5:43:5:43 | 1 | semmle.label | false |
|
|
| NullCoalescing.cs:5:39:5:39 | 0 | NullCoalescing.cs:5:9:5:10 | exit M2 | semmle.label | successor |
|
|
| NullCoalescing.cs:5:43:5:43 | 1 | NullCoalescing.cs:5:9:5:10 | exit M2 | semmle.label | successor |
|
|
| NullCoalescing.cs:7:12:7:13 | enter M3 | NullCoalescing.cs:7:40:7:53 | ... ?? ... | semmle.label | successor |
|
|
| NullCoalescing.cs:7:40:7:41 | access to parameter s1 | NullCoalescing.cs:7:12:7:13 | exit M3 | semmle.label | non-null |
|
|
| NullCoalescing.cs:7:40:7:41 | access to parameter s1 | NullCoalescing.cs:7:46:7:53 | ... ?? ... | semmle.label | null |
|
|
| NullCoalescing.cs:7:40:7:53 | ... ?? ... | NullCoalescing.cs:7:40:7:41 | access to parameter s1 | semmle.label | successor |
|
|
| NullCoalescing.cs:7:46:7:47 | access to parameter s2 | NullCoalescing.cs:7:12:7:13 | exit M3 | semmle.label | non-null |
|
|
| NullCoalescing.cs:7:46:7:47 | access to parameter s2 | NullCoalescing.cs:7:52:7:53 | "" | semmle.label | null |
|
|
| NullCoalescing.cs:7:46:7:53 | ... ?? ... | NullCoalescing.cs:7:46:7:47 | access to parameter s2 | semmle.label | successor |
|
|
| NullCoalescing.cs:7:52:7:53 | "" | NullCoalescing.cs:7:12:7:13 | exit M3 | semmle.label | successor |
|
|
| NullCoalescing.cs:9:12:9:13 | enter M4 | NullCoalescing.cs:9:36:9:58 | ... ?? ... | semmle.label | successor |
|
|
| NullCoalescing.cs:9:36:9:58 | ... ?? ... | NullCoalescing.cs:9:37:9:45 | ... ? ... : ... | semmle.label | successor |
|
|
| NullCoalescing.cs:9:37:9:37 | access to parameter b | NullCoalescing.cs:9:41:9:41 | access to parameter s | semmle.label | true |
|
|
| NullCoalescing.cs:9:37:9:37 | access to parameter b | NullCoalescing.cs:9:45:9:45 | access to parameter s | semmle.label | false |
|
|
| NullCoalescing.cs:9:37:9:45 | ... ? ... : ... | NullCoalescing.cs:9:37:9:37 | access to parameter b | semmle.label | successor |
|
|
| NullCoalescing.cs:9:41:9:41 | access to parameter s | NullCoalescing.cs:9:12:9:13 | exit M4 | semmle.label | non-null |
|
|
| NullCoalescing.cs:9:41:9:41 | access to parameter s | NullCoalescing.cs:9:51:9:58 | ... ?? ... | semmle.label | null |
|
|
| NullCoalescing.cs:9:45:9:45 | access to parameter s | NullCoalescing.cs:9:12:9:13 | exit M4 | semmle.label | non-null |
|
|
| NullCoalescing.cs:9:45:9:45 | access to parameter s | NullCoalescing.cs:9:51:9:58 | ... ?? ... | semmle.label | null |
|
|
| NullCoalescing.cs:9:51:9:52 | "" | NullCoalescing.cs:9:12:9:13 | exit M4 | semmle.label | non-null |
|
|
| NullCoalescing.cs:9:51:9:58 | ... ?? ... | NullCoalescing.cs:9:51:9:52 | "" | semmle.label | successor |
|
|
| NullCoalescing.cs:11:9:11:10 | enter M5 | NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | semmle.label | successor |
|
|
| NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:44:11:59 | ... ?? ... | semmle.label | successor |
|
|
| NullCoalescing.cs:11:44:11:45 | access to parameter b1 | NullCoalescing.cs:11:51:11:58 | ... && ... | semmle.label | null |
|
|
| NullCoalescing.cs:11:44:11:45 | access to parameter b1 | NullCoalescing.cs:11:64:11:64 | 0 | semmle.label | true |
|
|
| NullCoalescing.cs:11:44:11:45 | access to parameter b1 | NullCoalescing.cs:11:68:11:68 | 1 | semmle.label | false |
|
|
| NullCoalescing.cs:11:44:11:59 | ... ?? ... | NullCoalescing.cs:11:44:11:45 | access to parameter b1 | semmle.label | successor |
|
|
| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:57:11:58 | access to parameter b3 | semmle.label | true |
|
|
| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:68:11:68 | 1 | semmle.label | false |
|
|
| NullCoalescing.cs:11:51:11:58 | ... && ... | NullCoalescing.cs:11:51:11:52 | access to parameter b2 | semmle.label | successor |
|
|
| NullCoalescing.cs:11:57:11:58 | access to parameter b3 | NullCoalescing.cs:11:64:11:64 | 0 | semmle.label | true |
|
|
| NullCoalescing.cs:11:57:11:58 | access to parameter b3 | NullCoalescing.cs:11:68:11:68 | 1 | semmle.label | false |
|
|
| NullCoalescing.cs:11:64:11:64 | 0 | NullCoalescing.cs:11:9:11:10 | exit M5 | semmle.label | successor |
|
|
| NullCoalescing.cs:11:68:11:68 | 1 | NullCoalescing.cs:11:9:11:10 | exit M5 | semmle.label | successor |
|
|
| NullCoalescing.cs:13:10:13:11 | enter M6 | NullCoalescing.cs:14:5:18:5 | {...} | semmle.label | successor |
|
|
| NullCoalescing.cs:14:5:18:5 | {...} | NullCoalescing.cs:15:9:15:32 | ... ...; | semmle.label | successor |
|
|
| NullCoalescing.cs:15:9:15:32 | ... ...; | NullCoalescing.cs:15:17:15:31 | ... ?? ... | semmle.label | successor |
|
|
| NullCoalescing.cs:15:13:15:31 | Int32 j = ... | NullCoalescing.cs:16:9:16:26 | ... ...; | semmle.label | successor |
|
|
| NullCoalescing.cs:15:17:15:26 | (...) ... | NullCoalescing.cs:15:31:15:31 | 0 | semmle.label | null |
|
|
| NullCoalescing.cs:15:17:15:31 | ... ?? ... | NullCoalescing.cs:15:23:15:26 | null | semmle.label | successor |
|
|
| NullCoalescing.cs:15:23:15:26 | null | NullCoalescing.cs:15:17:15:26 | (...) ... | semmle.label | successor |
|
|
| NullCoalescing.cs:15:31:15:31 | 0 | NullCoalescing.cs:15:13:15:31 | Int32 j = ... | semmle.label | successor |
|
|
| NullCoalescing.cs:16:9:16:26 | ... ...; | NullCoalescing.cs:16:17:16:25 | ... ?? ... | semmle.label | successor |
|
|
| NullCoalescing.cs:16:13:16:25 | String s = ... | NullCoalescing.cs:17:9:17:25 | ...; | semmle.label | successor |
|
|
| NullCoalescing.cs:16:17:16:18 | "" | NullCoalescing.cs:16:13:16:25 | String s = ... | semmle.label | non-null |
|
|
| NullCoalescing.cs:16:17:16:25 | ... ?? ... | NullCoalescing.cs:16:17:16:18 | "" | semmle.label | successor |
|
|
| NullCoalescing.cs:17:9:17:24 | ... = ... | NullCoalescing.cs:13:10:13:11 | exit M6 | semmle.label | successor |
|
|
| NullCoalescing.cs:17:9:17:25 | ...; | NullCoalescing.cs:17:13:17:24 | ... ?? ... | semmle.label | successor |
|
|
| NullCoalescing.cs:17:13:17:19 | (...) ... | NullCoalescing.cs:17:9:17:24 | ... = ... | semmle.label | non-null |
|
|
| NullCoalescing.cs:17:13:17:24 | ... ?? ... | NullCoalescing.cs:17:19:17:19 | access to parameter i | semmle.label | successor |
|
|
| NullCoalescing.cs:17:19:17:19 | access to parameter i | NullCoalescing.cs:17:13:17:19 | (...) ... | semmle.label | successor |
|
|
| Patterns.cs:5:10:5:13 | enter Test | Patterns.cs:6:5:43:5 | {...} | semmle.label | successor |
|
|
| Patterns.cs:6:5:43:5 | {...} | Patterns.cs:7:9:7:24 | ... ...; | semmle.label | successor |
|
|
| Patterns.cs:7:9:7:24 | ... ...; | Patterns.cs:7:20:7:23 | null | semmle.label | successor |
|
|
| Patterns.cs:7:16:7:23 | Object o = ... | Patterns.cs:8:9:18:9 | if (...) ... | semmle.label | successor |
|
|
| Patterns.cs:7:20:7:23 | null | Patterns.cs:7:16:7:23 | Object o = ... | semmle.label | successor |
|
|
| Patterns.cs:8:9:18:9 | if (...) ... | Patterns.cs:8:13:8:13 | access to local variable o | semmle.label | successor |
|
|
| Patterns.cs:8:13:8:13 | access to local variable o | Patterns.cs:8:18:8:23 | Int32 i1 | semmle.label | successor |
|
|
| Patterns.cs:8:13:8:23 | ... is ... | Patterns.cs:9:9:11:9 | {...} | semmle.label | true |
|
|
| Patterns.cs:8:13:8:23 | ... is ... | Patterns.cs:12:14:18:9 | if (...) ... | semmle.label | false |
|
|
| Patterns.cs:8:18:8:23 | Int32 i1 | Patterns.cs:8:13:8:23 | ... is ... | semmle.label | successor |
|
|
| Patterns.cs:9:9:11:9 | {...} | Patterns.cs:10:13:10:43 | ...; | semmle.label | successor |
|
|
| Patterns.cs:10:13:10:42 | call to method WriteLine | Patterns.cs:20:9:38:9 | switch (...) {...} | semmle.label | successor |
|
|
| Patterns.cs:10:13:10:43 | ...; | Patterns.cs:10:33:10:36 | "int " | semmle.label | successor |
|
|
| Patterns.cs:10:31:10:41 | $"..." | Patterns.cs:10:13:10:42 | call to method WriteLine | semmle.label | successor |
|
|
| Patterns.cs:10:33:10:36 | "int " | Patterns.cs:10:38:10:39 | access to local variable i1 | semmle.label | successor |
|
|
| Patterns.cs:10:38:10:39 | access to local variable i1 | Patterns.cs:10:31:10:41 | $"..." | semmle.label | successor |
|
|
| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:12:18:12:18 | access to local variable o | semmle.label | successor |
|
|
| Patterns.cs:12:18:12:18 | access to local variable o | Patterns.cs:12:23:12:31 | String s1 | semmle.label | successor |
|
|
| Patterns.cs:12:18:12:31 | ... is ... | Patterns.cs:13:9:15:9 | {...} | semmle.label | true |
|
|
| Patterns.cs:12:18:12:31 | ... is ... | Patterns.cs:16:14:18:9 | if (...) ... | semmle.label | false |
|
|
| Patterns.cs:12:23:12:31 | String s1 | Patterns.cs:12:18:12:31 | ... is ... | semmle.label | successor |
|
|
| Patterns.cs:13:9:15:9 | {...} | Patterns.cs:14:13:14:46 | ...; | semmle.label | successor |
|
|
| Patterns.cs:14:13:14:45 | call to method WriteLine | Patterns.cs:20:9:38:9 | switch (...) {...} | semmle.label | successor |
|
|
| Patterns.cs:14:13:14:46 | ...; | Patterns.cs:14:33:14:39 | "string " | semmle.label | successor |
|
|
| Patterns.cs:14:31:14:44 | $"..." | Patterns.cs:14:13:14:45 | call to method WriteLine | semmle.label | successor |
|
|
| Patterns.cs:14:33:14:39 | "string " | Patterns.cs:14:41:14:42 | access to local variable s1 | semmle.label | successor |
|
|
| Patterns.cs:14:41:14:42 | access to local variable s1 | Patterns.cs:14:31:14:44 | $"..." | semmle.label | successor |
|
|
| Patterns.cs:16:14:18:9 | if (...) ... | Patterns.cs:16:18:16:18 | access to local variable o | semmle.label | successor |
|
|
| Patterns.cs:16:18:16:18 | access to local variable o | Patterns.cs:16:23:16:28 | Object v1 | semmle.label | successor |
|
|
| Patterns.cs:16:18:16:28 | ... is ... | Patterns.cs:17:9:18:9 | {...} | semmle.label | true |
|
|
| Patterns.cs:16:18:16:28 | ... is ... | Patterns.cs:20:9:38:9 | switch (...) {...} | semmle.label | false |
|
|
| Patterns.cs:16:23:16:28 | Object v1 | Patterns.cs:16:18:16:28 | ... is ... | semmle.label | successor |
|
|
| Patterns.cs:17:9:18:9 | {...} | Patterns.cs:20:9:38:9 | switch (...) {...} | semmle.label | successor |
|
|
| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:20:17:20:17 | access to local variable o | semmle.label | successor |
|
|
| Patterns.cs:20:17:20:17 | access to local variable o | Patterns.cs:22:13:22:23 | case ...: | semmle.label | successor |
|
|
| Patterns.cs:22:13:22:23 | case ...: | Patterns.cs:22:18:22:22 | "xyz" | semmle.label | successor |
|
|
| Patterns.cs:22:18:22:22 | "xyz" | Patterns.cs:23:17:23:22 | break; | semmle.label | match |
|
|
| Patterns.cs:22:18:22:22 | "xyz" | Patterns.cs:24:13:24:36 | case ...: | semmle.label | no-match |
|
|
| Patterns.cs:23:17:23:22 | break; | Patterns.cs:40:9:42:9 | switch (...) {...} | semmle.label | break |
|
|
| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:24:18:24:23 | Int32 i2 | semmle.label | successor |
|
|
| Patterns.cs:24:18:24:23 | Int32 i2 | Patterns.cs:24:30:24:31 | access to local variable i2 | semmle.label | match |
|
|
| Patterns.cs:24:18:24:23 | Int32 i2 | Patterns.cs:27:13:27:24 | case ...: | semmle.label | no-match |
|
|
| Patterns.cs:24:30:24:31 | access to local variable i2 | Patterns.cs:24:35:24:35 | 0 | semmle.label | successor |
|
|
| Patterns.cs:24:30:24:35 | ... > ... | Patterns.cs:25:17:25:52 | ...; | semmle.label | true |
|
|
| Patterns.cs:24:30:24:35 | ... > ... | Patterns.cs:27:13:27:24 | case ...: | semmle.label | false |
|
|
| Patterns.cs:24:35:24:35 | 0 | Patterns.cs:24:30:24:35 | ... > ... | semmle.label | successor |
|
|
| Patterns.cs:25:17:25:51 | call to method WriteLine | Patterns.cs:26:17:26:22 | break; | semmle.label | successor |
|
|
| Patterns.cs:25:17:25:52 | ...; | Patterns.cs:25:37:25:45 | "positive " | semmle.label | successor |
|
|
| Patterns.cs:25:35:25:50 | $"..." | Patterns.cs:25:17:25:51 | call to method WriteLine | semmle.label | successor |
|
|
| Patterns.cs:25:37:25:45 | "positive " | Patterns.cs:25:47:25:48 | access to local variable i2 | semmle.label | successor |
|
|
| Patterns.cs:25:47:25:48 | access to local variable i2 | Patterns.cs:25:35:25:50 | $"..." | semmle.label | successor |
|
|
| Patterns.cs:26:17:26:22 | break; | Patterns.cs:40:9:42:9 | switch (...) {...} | semmle.label | break |
|
|
| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:27:18:27:23 | Int32 i3 | semmle.label | successor |
|
|
| Patterns.cs:27:18:27:23 | Int32 i3 | Patterns.cs:28:17:28:47 | ...; | semmle.label | match |
|
|
| Patterns.cs:27:18:27:23 | Int32 i3 | Patterns.cs:30:13:30:27 | case ...: | semmle.label | no-match |
|
|
| Patterns.cs:28:17:28:46 | call to method WriteLine | Patterns.cs:29:17:29:22 | break; | semmle.label | successor |
|
|
| Patterns.cs:28:17:28:47 | ...; | Patterns.cs:28:37:28:40 | "int " | semmle.label | successor |
|
|
| Patterns.cs:28:35:28:45 | $"..." | Patterns.cs:28:17:28:46 | call to method WriteLine | semmle.label | successor |
|
|
| Patterns.cs:28:37:28:40 | "int " | Patterns.cs:28:42:28:43 | access to local variable i3 | semmle.label | successor |
|
|
| Patterns.cs:28:42:28:43 | access to local variable i3 | Patterns.cs:28:35:28:45 | $"..." | semmle.label | successor |
|
|
| Patterns.cs:29:17:29:22 | break; | Patterns.cs:40:9:42:9 | switch (...) {...} | semmle.label | break |
|
|
| Patterns.cs:30:13:30:27 | case ...: | Patterns.cs:30:18:30:26 | String s2 | semmle.label | successor |
|
|
| Patterns.cs:30:18:30:26 | String s2 | Patterns.cs:31:17:31:50 | ...; | semmle.label | match |
|
|
| Patterns.cs:30:18:30:26 | String s2 | Patterns.cs:33:13:33:24 | case ...: | semmle.label | no-match |
|
|
| Patterns.cs:31:17:31:49 | call to method WriteLine | Patterns.cs:32:17:32:22 | break; | semmle.label | successor |
|
|
| Patterns.cs:31:17:31:50 | ...; | Patterns.cs:31:37:31:43 | "string " | semmle.label | successor |
|
|
| Patterns.cs:31:35:31:48 | $"..." | Patterns.cs:31:17:31:49 | call to method WriteLine | semmle.label | successor |
|
|
| Patterns.cs:31:37:31:43 | "string " | Patterns.cs:31:45:31:46 | access to local variable s2 | semmle.label | successor |
|
|
| Patterns.cs:31:45:31:46 | access to local variable s2 | Patterns.cs:31:35:31:48 | $"..." | semmle.label | successor |
|
|
| Patterns.cs:32:17:32:22 | break; | Patterns.cs:40:9:42:9 | switch (...) {...} | semmle.label | break |
|
|
| Patterns.cs:33:13:33:24 | case ...: | Patterns.cs:33:18:33:23 | Object v2 | semmle.label | successor |
|
|
| Patterns.cs:33:18:33:23 | Object v2 | Patterns.cs:34:17:34:22 | break; | semmle.label | match |
|
|
| Patterns.cs:33:18:33:23 | Object v2 | Patterns.cs:35:13:35:20 | default: | semmle.label | no-match |
|
|
| Patterns.cs:34:17:34:22 | break; | Patterns.cs:40:9:42:9 | switch (...) {...} | semmle.label | break |
|
|
| Patterns.cs:35:13:35:20 | default: | Patterns.cs:36:17:36:52 | ...; | semmle.label | successor |
|
|
| Patterns.cs:36:17:36:51 | call to method WriteLine | Patterns.cs:37:17:37:22 | break; | semmle.label | successor |
|
|
| Patterns.cs:36:17:36:52 | ...; | Patterns.cs:36:35:36:50 | "Something else" | semmle.label | successor |
|
|
| Patterns.cs:36:35:36:50 | "Something else" | Patterns.cs:36:17:36:51 | call to method WriteLine | semmle.label | successor |
|
|
| Patterns.cs:37:17:37:22 | break; | Patterns.cs:40:9:42:9 | switch (...) {...} | semmle.label | break |
|
|
| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:40:17:40:17 | access to local variable o | semmle.label | successor |
|
|
| Patterns.cs:40:17:40:17 | access to local variable o | Patterns.cs:5:10:5:13 | exit Test | semmle.label | successor |
|
|
| Qualifiers.cs:7:16:7:21 | enter Method | Qualifiers.cs:7:28:7:31 | null | semmle.label | successor |
|
|
| Qualifiers.cs:7:28:7:31 | null | Qualifiers.cs:7:16:7:21 | exit Method | semmle.label | successor |
|
|
| Qualifiers.cs:8:23:8:34 | enter StaticMethod | Qualifiers.cs:8:41:8:44 | null | semmle.label | successor |
|
|
| Qualifiers.cs:8:41:8:44 | null | Qualifiers.cs:8:23:8:34 | exit StaticMethod | semmle.label | successor |
|
|
| Qualifiers.cs:10:10:10:10 | enter M | Qualifiers.cs:11:5:31:5 | {...} | semmle.label | successor |
|
|
| Qualifiers.cs:11:5:31:5 | {...} | Qualifiers.cs:12:9:12:22 | ... ...; | semmle.label | successor |
|
|
| Qualifiers.cs:12:9:12:22 | ... ...; | Qualifiers.cs:12:17:12:21 | this access | semmle.label | successor |
|
|
| Qualifiers.cs:12:13:12:21 | Qualifiers q = ... | Qualifiers.cs:13:9:13:21 | ...; | semmle.label | successor |
|
|
| Qualifiers.cs:12:17:12:21 | access to field Field | Qualifiers.cs:12:13:12:21 | Qualifiers q = ... | semmle.label | successor |
|
|
| Qualifiers.cs:12:17:12:21 | this access | Qualifiers.cs:12:17:12:21 | access to field Field | semmle.label | successor |
|
|
| Qualifiers.cs:13:9:13:20 | ... = ... | Qualifiers.cs:14:9:14:21 | ...; | semmle.label | successor |
|
|
| Qualifiers.cs:13:9:13:21 | ...; | Qualifiers.cs:13:13:13:20 | this access | semmle.label | successor |
|
|
| Qualifiers.cs:13:13:13:20 | access to property Property | Qualifiers.cs:13:9:13:20 | ... = ... | semmle.label | successor |
|
|
| Qualifiers.cs:13:13:13:20 | this access | Qualifiers.cs:13:13:13:20 | access to property Property | semmle.label | successor |
|
|
| Qualifiers.cs:14:9:14:20 | ... = ... | Qualifiers.cs:16:9:16:23 | ...; | semmle.label | successor |
|
|
| Qualifiers.cs:14:9:14:21 | ...; | Qualifiers.cs:14:13:14:20 | this access | semmle.label | successor |
|
|
| Qualifiers.cs:14:13:14:20 | call to method Method | Qualifiers.cs:14:9:14:20 | ... = ... | semmle.label | successor |
|
|
| Qualifiers.cs:14:13:14:20 | this access | Qualifiers.cs:14:13:14:20 | call to method Method | semmle.label | successor |
|
|
| Qualifiers.cs:16:9:16:22 | ... = ... | Qualifiers.cs:17:9:17:26 | ...; | semmle.label | successor |
|
|
| Qualifiers.cs:16:9:16:23 | ...; | Qualifiers.cs:16:13:16:16 | this access | semmle.label | successor |
|
|
| Qualifiers.cs:16:13:16:16 | this access | Qualifiers.cs:16:13:16:22 | access to field Field | semmle.label | successor |
|
|
| Qualifiers.cs:16:13:16:22 | access to field Field | Qualifiers.cs:16:9:16:22 | ... = ... | semmle.label | successor |
|
|
| Qualifiers.cs:17:9:17:25 | ... = ... | Qualifiers.cs:18:9:18:26 | ...; | semmle.label | successor |
|
|
| Qualifiers.cs:17:9:17:26 | ...; | Qualifiers.cs:17:13:17:16 | this access | semmle.label | successor |
|
|
| Qualifiers.cs:17:13:17:16 | this access | Qualifiers.cs:17:13:17:25 | access to property Property | semmle.label | successor |
|
|
| Qualifiers.cs:17:13:17:25 | access to property Property | Qualifiers.cs:17:9:17:25 | ... = ... | semmle.label | successor |
|
|
| Qualifiers.cs:18:9:18:25 | ... = ... | Qualifiers.cs:20:9:20:24 | ...; | semmle.label | successor |
|
|
| Qualifiers.cs:18:9:18:26 | ...; | Qualifiers.cs:18:13:18:16 | this access | semmle.label | successor |
|
|
| Qualifiers.cs:18:13:18:16 | this access | Qualifiers.cs:18:13:18:25 | call to method Method | semmle.label | successor |
|
|
| Qualifiers.cs:18:13:18:25 | call to method Method | Qualifiers.cs:18:9:18:25 | ... = ... | semmle.label | successor |
|
|
| Qualifiers.cs:20:9:20:23 | ... = ... | Qualifiers.cs:21:9:21:27 | ...; | semmle.label | successor |
|
|
| Qualifiers.cs:20:9:20:24 | ...; | Qualifiers.cs:20:13:20:23 | access to field StaticField | semmle.label | successor |
|
|
| Qualifiers.cs:20:13:20:23 | access to field StaticField | Qualifiers.cs:20:9:20:23 | ... = ... | semmle.label | successor |
|
|
| Qualifiers.cs:21:9:21:26 | ... = ... | Qualifiers.cs:22:9:22:27 | ...; | semmle.label | successor |
|
|
| Qualifiers.cs:21:9:21:27 | ...; | Qualifiers.cs:21:13:21:26 | access to property StaticProperty | semmle.label | successor |
|
|
| Qualifiers.cs:21:13:21:26 | access to property StaticProperty | Qualifiers.cs:21:9:21:26 | ... = ... | semmle.label | successor |
|
|
| Qualifiers.cs:22:9:22:26 | ... = ... | Qualifiers.cs:24:9:24:35 | ...; | semmle.label | successor |
|
|
| Qualifiers.cs:22:9:22:27 | ...; | Qualifiers.cs:22:13:22:26 | call to method StaticMethod | semmle.label | successor |
|
|
| Qualifiers.cs:22:13:22:26 | call to method StaticMethod | Qualifiers.cs:22:9:22:26 | ... = ... | semmle.label | successor |
|
|
| Qualifiers.cs:24:9:24:34 | ... = ... | Qualifiers.cs:25:9:25:38 | ...; | semmle.label | successor |
|
|
| Qualifiers.cs:24:9:24:35 | ...; | Qualifiers.cs:24:13:24:34 | access to field StaticField | semmle.label | successor |
|
|
| Qualifiers.cs:24:13:24:34 | access to field StaticField | Qualifiers.cs:24:9:24:34 | ... = ... | semmle.label | successor |
|
|
| Qualifiers.cs:25:9:25:37 | ... = ... | Qualifiers.cs:26:9:26:38 | ...; | semmle.label | successor |
|
|
| Qualifiers.cs:25:9:25:38 | ...; | Qualifiers.cs:25:13:25:37 | access to property StaticProperty | semmle.label | successor |
|
|
| Qualifiers.cs:25:13:25:37 | access to property StaticProperty | Qualifiers.cs:25:9:25:37 | ... = ... | semmle.label | successor |
|
|
| Qualifiers.cs:26:9:26:37 | ... = ... | Qualifiers.cs:28:9:28:41 | ...; | semmle.label | successor |
|
|
| Qualifiers.cs:26:9:26:38 | ...; | Qualifiers.cs:26:13:26:37 | call to method StaticMethod | semmle.label | successor |
|
|
| Qualifiers.cs:26:13:26:37 | call to method StaticMethod | Qualifiers.cs:26:9:26:37 | ... = ... | semmle.label | successor |
|
|
| Qualifiers.cs:28:9:28:40 | ... = ... | Qualifiers.cs:29:9:29:47 | ...; | semmle.label | successor |
|
|
| Qualifiers.cs:28:9:28:41 | ...; | Qualifiers.cs:28:13:28:34 | access to field StaticField | semmle.label | successor |
|
|
| Qualifiers.cs:28:13:28:34 | access to field StaticField | Qualifiers.cs:28:13:28:40 | access to field Field | semmle.label | successor |
|
|
| Qualifiers.cs:28:13:28:40 | access to field Field | Qualifiers.cs:28:9:28:40 | ... = ... | semmle.label | successor |
|
|
| Qualifiers.cs:29:9:29:46 | ... = ... | Qualifiers.cs:30:9:30:47 | ...; | semmle.label | successor |
|
|
| Qualifiers.cs:29:9:29:47 | ...; | Qualifiers.cs:29:13:29:37 | access to property StaticProperty | semmle.label | successor |
|
|
| Qualifiers.cs:29:13:29:37 | access to property StaticProperty | Qualifiers.cs:29:13:29:46 | access to property Property | semmle.label | successor |
|
|
| Qualifiers.cs:29:13:29:46 | access to property Property | Qualifiers.cs:29:9:29:46 | ... = ... | semmle.label | successor |
|
|
| Qualifiers.cs:30:9:30:46 | ... = ... | Qualifiers.cs:10:10:10:10 | exit M | semmle.label | successor |
|
|
| Qualifiers.cs:30:9:30:47 | ...; | Qualifiers.cs:30:13:30:37 | call to method StaticMethod | semmle.label | successor |
|
|
| Qualifiers.cs:30:13:30:37 | call to method StaticMethod | Qualifiers.cs:30:13:30:46 | call to method Method | semmle.label | successor |
|
|
| Qualifiers.cs:30:13:30:46 | call to method Method | Qualifiers.cs:30:9:30:46 | ... = ... | semmle.label | successor |
|
|
| Switch.cs:5:10:5:11 | enter M1 | Switch.cs:6:5:8:5 | {...} | semmle.label | successor |
|
|
| Switch.cs:6:5:8:5 | {...} | Switch.cs:7:9:7:22 | switch (...) {...} | semmle.label | successor |
|
|
| Switch.cs:7:9:7:22 | switch (...) {...} | Switch.cs:7:17:7:17 | access to parameter o | semmle.label | successor |
|
|
| Switch.cs:7:17:7:17 | access to parameter o | Switch.cs:5:10:5:11 | exit M1 | semmle.label | successor |
|
|
| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:11:5:33:5 | {...} | semmle.label | successor |
|
|
| Switch.cs:11:5:33:5 | {...} | Switch.cs:12:9:32:9 | switch (...) {...} | semmle.label | successor |
|
|
| Switch.cs:12:9:32:9 | switch (...) {...} | Switch.cs:12:17:12:17 | access to parameter o | semmle.label | successor |
|
|
| Switch.cs:12:17:12:17 | access to parameter o | Switch.cs:14:13:14:21 | case ...: | semmle.label | successor |
|
|
| Switch.cs:14:13:14:21 | case ...: | Switch.cs:14:18:14:20 | "a" | semmle.label | successor |
|
|
| Switch.cs:14:18:14:20 | "a" | Switch.cs:15:17:15:23 | return ...; | semmle.label | match |
|
|
| Switch.cs:14:18:14:20 | "a" | Switch.cs:16:13:16:19 | case ...: | semmle.label | no-match |
|
|
| Switch.cs:15:17:15:23 | return ...; | Switch.cs:10:10:10:11 | exit M2 | semmle.label | return |
|
|
| Switch.cs:16:13:16:19 | case ...: | Switch.cs:16:18:16:18 | 0 | semmle.label | successor |
|
|
| Switch.cs:16:18:16:18 | 0 | Switch.cs:17:23:17:37 | object creation of type Exception | semmle.label | match |
|
|
| Switch.cs:16:18:16:18 | 0 | Switch.cs:18:13:18:22 | case ...: | semmle.label | no-match |
|
|
| Switch.cs:17:17:17:38 | throw ...; | Switch.cs:10:10:10:11 | exit M2 | semmle.label | exception(Exception) |
|
|
| Switch.cs:17:23:17:37 | object creation of type Exception | Switch.cs:17:17:17:38 | throw ...; | semmle.label | successor |
|
|
| Switch.cs:18:13:18:22 | case ...: | Switch.cs:18:18:18:21 | null | semmle.label | successor |
|
|
| Switch.cs:18:18:18:21 | null | Switch.cs:19:17:19:29 | goto default; | semmle.label | match |
|
|
| Switch.cs:18:18:18:21 | null | Switch.cs:20:13:20:23 | case ...: | semmle.label | no-match |
|
|
| Switch.cs:19:17:19:29 | goto default; | Switch.cs:30:13:30:20 | default: | semmle.label | goto(default) |
|
|
| Switch.cs:20:13:20:23 | case ...: | Switch.cs:20:18:20:22 | Int32 i | semmle.label | successor |
|
|
| Switch.cs:20:18:20:22 | Int32 i | Switch.cs:21:17:22:27 | if (...) ... | semmle.label | match |
|
|
| Switch.cs:20:18:20:22 | Int32 i | Switch.cs:24:13:24:56 | case ...: | semmle.label | no-match |
|
|
| Switch.cs:21:17:22:27 | if (...) ... | Switch.cs:21:21:21:21 | access to parameter o | semmle.label | successor |
|
|
| Switch.cs:21:21:21:21 | access to parameter o | Switch.cs:21:26:21:29 | null | semmle.label | successor |
|
|
| Switch.cs:21:21:21:29 | ... == ... | Switch.cs:22:21:22:27 | return ...; | semmle.label | true |
|
|
| Switch.cs:21:21:21:29 | ... == ... | Switch.cs:23:27:23:27 | 0 | semmle.label | false |
|
|
| Switch.cs:21:26:21:29 | null | Switch.cs:21:21:21:29 | ... == ... | semmle.label | successor |
|
|
| Switch.cs:22:21:22:27 | return ...; | Switch.cs:10:10:10:11 | exit M2 | semmle.label | return |
|
|
| Switch.cs:23:17:23:28 | goto case ...; | Switch.cs:16:13:16:19 | case ...: | semmle.label | goto(0) |
|
|
| Switch.cs:23:27:23:27 | 0 | Switch.cs:23:17:23:28 | goto case ...; | semmle.label | successor |
|
|
| Switch.cs:24:13:24:56 | case ...: | Switch.cs:24:18:24:25 | String s | semmle.label | successor |
|
|
| Switch.cs:24:18:24:25 | String s | Switch.cs:24:32:24:55 | ... && ... | semmle.label | match |
|
|
| Switch.cs:24:18:24:25 | String s | Switch.cs:27:13:27:39 | case ...: | semmle.label | no-match |
|
|
| Switch.cs:24:32:24:32 | access to local variable s | Switch.cs:24:32:24:39 | access to property Length | semmle.label | successor |
|
|
| Switch.cs:24:32:24:39 | access to property Length | Switch.cs:24:43:24:43 | 0 | semmle.label | successor |
|
|
| Switch.cs:24:32:24:43 | ... > ... | Switch.cs:24:48:24:48 | access to local variable s | semmle.label | true |
|
|
| Switch.cs:24:32:24:43 | ... > ... | Switch.cs:27:13:27:39 | case ...: | semmle.label | false |
|
|
| Switch.cs:24:32:24:55 | ... && ... | Switch.cs:24:32:24:32 | access to local variable s | semmle.label | successor |
|
|
| Switch.cs:24:43:24:43 | 0 | Switch.cs:24:32:24:43 | ... > ... | semmle.label | successor |
|
|
| Switch.cs:24:48:24:48 | access to local variable s | Switch.cs:24:53:24:55 | "a" | semmle.label | successor |
|
|
| Switch.cs:24:48:24:55 | ... != ... | Switch.cs:25:17:25:37 | ...; | semmle.label | true |
|
|
| Switch.cs:24:48:24:55 | ... != ... | Switch.cs:27:13:27:39 | case ...: | semmle.label | false |
|
|
| Switch.cs:24:53:24:55 | "a" | Switch.cs:24:48:24:55 | ... != ... | semmle.label | successor |
|
|
| Switch.cs:25:17:25:36 | call to method WriteLine | Switch.cs:26:17:26:23 | return ...; | semmle.label | successor |
|
|
| Switch.cs:25:17:25:37 | ...; | Switch.cs:25:35:25:35 | access to local variable s | semmle.label | successor |
|
|
| Switch.cs:25:35:25:35 | access to local variable s | Switch.cs:25:17:25:36 | call to method WriteLine | semmle.label | successor |
|
|
| Switch.cs:26:17:26:23 | return ...; | Switch.cs:10:10:10:11 | exit M2 | semmle.label | return |
|
|
| Switch.cs:27:13:27:39 | case ...: | Switch.cs:27:18:27:25 | Double d | semmle.label | successor |
|
|
| Switch.cs:27:18:27:25 | Double d | Switch.cs:27:32:27:38 | call to method Throw | semmle.label | match |
|
|
| Switch.cs:27:18:27:25 | Double d | Switch.cs:30:13:30:20 | default: | semmle.label | no-match |
|
|
| Switch.cs:27:32:27:38 | call to method Throw | Switch.cs:10:10:10:11 | exit M2 | semmle.label | exception(Exception) |
|
|
| Switch.cs:28:17:28:21 | Label: | Switch.cs:29:17:29:23 | return ...; | semmle.label | successor |
|
|
| Switch.cs:29:17:29:23 | return ...; | Switch.cs:10:10:10:11 | exit M2 | semmle.label | return |
|
|
| Switch.cs:30:13:30:20 | default: | Switch.cs:31:17:31:27 | goto ...; | semmle.label | successor |
|
|
| Switch.cs:31:17:31:27 | goto ...; | Switch.cs:28:17:28:21 | Label: | semmle.label | goto(Label) |
|
|
| Switch.cs:35:10:35:11 | enter M3 | Switch.cs:36:5:42:5 | {...} | semmle.label | successor |
|
|
| Switch.cs:36:5:42:5 | {...} | Switch.cs:37:9:41:9 | switch (...) {...} | semmle.label | successor |
|
|
| Switch.cs:37:9:41:9 | switch (...) {...} | Switch.cs:37:17:37:23 | call to method Throw | semmle.label | successor |
|
|
| Switch.cs:37:17:37:23 | call to method Throw | Switch.cs:35:10:35:11 | exit M3 | semmle.label | exception(Exception) |
|
|
| Switch.cs:44:10:44:11 | enter M4 | Switch.cs:45:5:53:5 | {...} | semmle.label | successor |
|
|
| Switch.cs:45:5:53:5 | {...} | Switch.cs:46:9:52:9 | switch (...) {...} | semmle.label | successor |
|
|
| Switch.cs:46:9:52:9 | switch (...) {...} | Switch.cs:46:17:46:17 | access to parameter o | semmle.label | successor |
|
|
| Switch.cs:46:17:46:17 | access to parameter o | Switch.cs:48:13:48:23 | case ...: | semmle.label | successor |
|
|
| Switch.cs:48:13:48:23 | case ...: | Switch.cs:48:18:48:20 | access to type Int32 | semmle.label | successor |
|
|
| Switch.cs:48:18:48:20 | access to type Int32 | Switch.cs:49:17:49:22 | break; | semmle.label | match |
|
|
| Switch.cs:48:18:48:20 | access to type Int32 | Switch.cs:50:13:50:39 | case ...: | semmle.label | no-match |
|
|
| Switch.cs:49:17:49:22 | break; | Switch.cs:44:10:44:11 | exit M4 | semmle.label | break |
|
|
| Switch.cs:50:13:50:39 | case ...: | Switch.cs:50:18:50:21 | access to type Boolean | semmle.label | successor |
|
|
| Switch.cs:50:18:50:21 | access to type Boolean | Switch.cs:44:10:44:11 | exit M4 | semmle.label | no-match |
|
|
| Switch.cs:50:18:50:21 | access to type Boolean | Switch.cs:50:30:50:30 | access to parameter o | semmle.label | match |
|
|
| Switch.cs:50:30:50:30 | access to parameter o | Switch.cs:50:35:50:38 | null | semmle.label | successor |
|
|
| Switch.cs:50:30:50:38 | ... != ... | Switch.cs:44:10:44:11 | exit M4 | semmle.label | false |
|
|
| Switch.cs:50:30:50:38 | ... != ... | Switch.cs:51:17:51:22 | break; | semmle.label | true |
|
|
| Switch.cs:50:35:50:38 | null | Switch.cs:50:30:50:38 | ... != ... | semmle.label | successor |
|
|
| Switch.cs:51:17:51:22 | break; | Switch.cs:44:10:44:11 | exit M4 | semmle.label | break |
|
|
| Switch.cs:55:10:55:11 | enter M5 | Switch.cs:56:5:64:5 | {...} | semmle.label | successor |
|
|
| Switch.cs:56:5:64:5 | {...} | Switch.cs:57:9:63:9 | switch (...) {...} | semmle.label | successor |
|
|
| Switch.cs:57:9:63:9 | switch (...) {...} | Switch.cs:57:17:57:17 | 1 | semmle.label | successor |
|
|
| Switch.cs:57:17:57:17 | 1 | Switch.cs:57:21:57:21 | 2 | semmle.label | successor |
|
|
| Switch.cs:57:17:57:21 | ... + ... | Switch.cs:59:13:59:20 | case ...: | semmle.label | successor |
|
|
| Switch.cs:57:21:57:21 | 2 | Switch.cs:57:17:57:21 | ... + ... | semmle.label | successor |
|
|
| Switch.cs:59:13:59:20 | case ...: | Switch.cs:59:18:59:18 | 2 | semmle.label | successor |
|
|
| Switch.cs:59:18:59:18 | 2 | Switch.cs:61:13:61:20 | case ...: | semmle.label | no-match |
|
|
| Switch.cs:61:13:61:20 | case ...: | Switch.cs:61:18:61:18 | 3 | semmle.label | successor |
|
|
| Switch.cs:61:18:61:18 | 3 | Switch.cs:62:15:62:20 | break; | semmle.label | match |
|
|
| Switch.cs:62:15:62:20 | break; | Switch.cs:55:10:55:11 | exit M5 | semmle.label | break |
|
|
| Switch.cs:66:10:66:11 | enter M6 | Switch.cs:67:5:75:5 | {...} | semmle.label | successor |
|
|
| Switch.cs:67:5:75:5 | {...} | Switch.cs:68:9:74:9 | switch (...) {...} | semmle.label | successor |
|
|
| Switch.cs:68:9:74:9 | switch (...) {...} | Switch.cs:68:25:68:25 | access to parameter s | semmle.label | successor |
|
|
| Switch.cs:68:17:68:25 | (...) ... | Switch.cs:70:13:70:24 | case ...: | semmle.label | successor |
|
|
| Switch.cs:68:25:68:25 | access to parameter s | Switch.cs:68:17:68:25 | (...) ... | semmle.label | successor |
|
|
| Switch.cs:70:13:70:24 | case ...: | Switch.cs:70:18:70:20 | access to type Int32 | semmle.label | successor |
|
|
| Switch.cs:70:18:70:20 | access to type Int32 | Switch.cs:72:13:72:21 | case ...: | semmle.label | no-match |
|
|
| Switch.cs:72:13:72:21 | case ...: | Switch.cs:72:18:72:19 | "" | semmle.label | successor |
|
|
| Switch.cs:72:18:72:19 | "" | Switch.cs:66:10:66:11 | exit M6 | semmle.label | no-match |
|
|
| Switch.cs:72:18:72:19 | "" | Switch.cs:73:15:73:20 | break; | semmle.label | match |
|
|
| Switch.cs:73:15:73:20 | break; | Switch.cs:66:10:66:11 | exit M6 | semmle.label | break |
|
|
| Switch.cs:77:10:77:11 | enter M7 | Switch.cs:78:5:89:5 | {...} | semmle.label | successor |
|
|
| Switch.cs:78:5:89:5 | {...} | Switch.cs:79:9:87:9 | switch (...) {...} | semmle.label | successor |
|
|
| Switch.cs:79:9:87:9 | switch (...) {...} | Switch.cs:79:17:79:17 | access to parameter i | semmle.label | successor |
|
|
| Switch.cs:79:17:79:17 | access to parameter i | Switch.cs:81:13:81:20 | case ...: | semmle.label | successor |
|
|
| Switch.cs:81:13:81:20 | case ...: | Switch.cs:81:18:81:18 | 1 | semmle.label | successor |
|
|
| Switch.cs:81:18:81:18 | 1 | Switch.cs:82:22:82:25 | true | semmle.label | match |
|
|
| Switch.cs:81:18:81:18 | 1 | Switch.cs:83:13:83:20 | case ...: | semmle.label | no-match |
|
|
| Switch.cs:82:15:82:26 | return ...; | Switch.cs:77:10:77:11 | exit M7 | semmle.label | return |
|
|
| Switch.cs:82:22:82:25 | true | Switch.cs:82:15:82:26 | return ...; | semmle.label | successor |
|
|
| Switch.cs:83:13:83:20 | case ...: | Switch.cs:83:18:83:18 | 2 | semmle.label | successor |
|
|
| Switch.cs:83:18:83:18 | 2 | Switch.cs:84:15:85:22 | if (...) ... | semmle.label | match |
|
|
| Switch.cs:83:18:83:18 | 2 | Switch.cs:88:16:88:20 | false | semmle.label | no-match |
|
|
| Switch.cs:84:15:85:22 | if (...) ... | Switch.cs:84:19:84:19 | access to parameter j | semmle.label | successor |
|
|
| Switch.cs:84:19:84:19 | access to parameter j | Switch.cs:84:23:84:23 | 2 | semmle.label | successor |
|
|
| Switch.cs:84:19:84:23 | ... > ... | Switch.cs:85:17:85:22 | break; | semmle.label | true |
|
|
| Switch.cs:84:19:84:23 | ... > ... | Switch.cs:86:22:86:25 | true | semmle.label | false |
|
|
| Switch.cs:84:23:84:23 | 2 | Switch.cs:84:19:84:23 | ... > ... | semmle.label | successor |
|
|
| Switch.cs:85:17:85:22 | break; | Switch.cs:88:16:88:20 | false | semmle.label | break |
|
|
| Switch.cs:86:15:86:26 | return ...; | Switch.cs:77:10:77:11 | exit M7 | semmle.label | return |
|
|
| Switch.cs:86:22:86:25 | true | Switch.cs:86:15:86:26 | return ...; | semmle.label | successor |
|
|
| Switch.cs:88:9:88:21 | return ...; | Switch.cs:77:10:77:11 | exit M7 | semmle.label | return |
|
|
| Switch.cs:88:16:88:20 | false | Switch.cs:88:9:88:21 | return ...; | semmle.label | successor |
|
|
| Switch.cs:91:10:91:11 | enter M8 | Switch.cs:92:5:99:5 | {...} | semmle.label | successor |
|
|
| Switch.cs:92:5:99:5 | {...} | Switch.cs:93:9:97:9 | switch (...) {...} | semmle.label | successor |
|
|
| Switch.cs:93:9:97:9 | switch (...) {...} | Switch.cs:93:17:93:17 | access to parameter o | semmle.label | successor |
|
|
| Switch.cs:93:17:93:17 | access to parameter o | Switch.cs:95:13:95:24 | case ...: | semmle.label | successor |
|
|
| Switch.cs:95:13:95:24 | case ...: | Switch.cs:95:18:95:20 | access to type Int32 | semmle.label | successor |
|
|
| Switch.cs:95:18:95:20 | access to type Int32 | Switch.cs:96:22:96:25 | true | semmle.label | match |
|
|
| Switch.cs:95:18:95:20 | access to type Int32 | Switch.cs:98:16:98:20 | false | semmle.label | no-match |
|
|
| Switch.cs:96:15:96:26 | return ...; | Switch.cs:91:10:91:11 | exit M8 | semmle.label | return |
|
|
| Switch.cs:96:22:96:25 | true | Switch.cs:96:15:96:26 | return ...; | semmle.label | successor |
|
|
| Switch.cs:98:9:98:21 | return ...; | Switch.cs:91:10:91:11 | exit M8 | semmle.label | return |
|
|
| Switch.cs:98:16:98:20 | false | Switch.cs:98:9:98:21 | return ...; | semmle.label | successor |
|
|
| Switch.cs:101:9:101:10 | enter M9 | Switch.cs:102:5:109:5 | {...} | semmle.label | successor |
|
|
| Switch.cs:102:5:109:5 | {...} | Switch.cs:103:9:107:9 | switch (...) {...} | semmle.label | successor |
|
|
| Switch.cs:103:9:107:9 | switch (...) {...} | Switch.cs:103:17:103:17 | access to parameter s | semmle.label | successor |
|
|
| Switch.cs:103:17:103:17 | access to parameter s | Switch.cs:103:19:103:25 | access to property Length | semmle.label | non-null |
|
|
| Switch.cs:103:17:103:17 | access to parameter s | Switch.cs:105:13:105:20 | case ...: | semmle.label | null |
|
|
| Switch.cs:103:19:103:25 | access to property Length | Switch.cs:105:13:105:20 | case ...: | semmle.label | successor |
|
|
| Switch.cs:105:13:105:20 | case ...: | Switch.cs:105:18:105:18 | 0 | semmle.label | successor |
|
|
| Switch.cs:105:18:105:18 | 0 | Switch.cs:105:29:105:29 | 0 | semmle.label | match |
|
|
| Switch.cs:105:18:105:18 | 0 | Switch.cs:106:13:106:20 | case ...: | semmle.label | no-match |
|
|
| Switch.cs:105:22:105:30 | return ...; | Switch.cs:101:9:101:10 | exit M9 | semmle.label | return |
|
|
| Switch.cs:105:29:105:29 | 0 | Switch.cs:105:22:105:30 | return ...; | semmle.label | successor |
|
|
| Switch.cs:106:13:106:20 | case ...: | Switch.cs:106:18:106:18 | 1 | semmle.label | successor |
|
|
| Switch.cs:106:18:106:18 | 1 | Switch.cs:106:29:106:29 | 1 | semmle.label | match |
|
|
| Switch.cs:106:18:106:18 | 1 | Switch.cs:108:17:108:17 | 1 | semmle.label | no-match |
|
|
| Switch.cs:106:22:106:30 | return ...; | Switch.cs:101:9:101:10 | exit M9 | semmle.label | return |
|
|
| Switch.cs:106:29:106:29 | 1 | Switch.cs:106:22:106:30 | return ...; | semmle.label | successor |
|
|
| Switch.cs:108:9:108:18 | return ...; | Switch.cs:101:9:101:10 | exit M9 | semmle.label | return |
|
|
| Switch.cs:108:16:108:17 | -... | Switch.cs:108:9:108:18 | return ...; | semmle.label | successor |
|
|
| Switch.cs:108:17:108:17 | 1 | Switch.cs:108:16:108:17 | -... | semmle.label | successor |
|
|
| Switch.cs:111:17:111:21 | enter Throw | Switch.cs:111:34:111:48 | object creation of type Exception | semmle.label | successor |
|
|
| Switch.cs:111:28:111:48 | throw ... | Switch.cs:111:17:111:21 | exit Throw | semmle.label | exception(Exception) |
|
|
| Switch.cs:111:34:111:48 | object creation of type Exception | Switch.cs:111:28:111:48 | throw ... | semmle.label | successor |
|
|
| Switch.cs:113:9:113:11 | enter M10 | Switch.cs:114:5:121:5 | {...} | semmle.label | successor |
|
|
| Switch.cs:114:5:121:5 | {...} | Switch.cs:115:9:119:9 | switch (...) {...} | semmle.label | successor |
|
|
| Switch.cs:115:9:119:9 | switch (...) {...} | Switch.cs:115:17:115:17 | access to parameter s | semmle.label | successor |
|
|
| Switch.cs:115:17:115:17 | access to parameter s | Switch.cs:115:17:115:24 | access to property Length | semmle.label | successor |
|
|
| Switch.cs:115:17:115:24 | access to property Length | Switch.cs:117:13:117:34 | case ...: | semmle.label | successor |
|
|
| Switch.cs:117:13:117:34 | case ...: | Switch.cs:117:18:117:18 | 3 | semmle.label | successor |
|
|
| Switch.cs:117:18:117:18 | 3 | Switch.cs:117:25:117:25 | access to parameter s | semmle.label | match |
|
|
| Switch.cs:117:18:117:18 | 3 | Switch.cs:118:13:118:33 | case ...: | semmle.label | no-match |
|
|
| Switch.cs:117:25:117:25 | access to parameter s | Switch.cs:117:28:117:32 | "foo" | semmle.label | successor |
|
|
| Switch.cs:117:25:117:32 | ... == ... | Switch.cs:117:43:117:43 | 1 | semmle.label | true |
|
|
| Switch.cs:117:25:117:32 | ... == ... | Switch.cs:118:13:118:33 | case ...: | semmle.label | false |
|
|
| Switch.cs:117:28:117:32 | "foo" | Switch.cs:117:25:117:32 | ... == ... | semmle.label | successor |
|
|
| Switch.cs:117:36:117:44 | return ...; | Switch.cs:113:9:113:11 | exit M10 | semmle.label | return |
|
|
| Switch.cs:117:43:117:43 | 1 | Switch.cs:117:36:117:44 | return ...; | semmle.label | successor |
|
|
| Switch.cs:118:13:118:33 | case ...: | Switch.cs:118:18:118:18 | 2 | semmle.label | successor |
|
|
| Switch.cs:118:18:118:18 | 2 | Switch.cs:118:25:118:25 | access to parameter s | semmle.label | match |
|
|
| Switch.cs:118:18:118:18 | 2 | Switch.cs:120:17:120:17 | 1 | semmle.label | no-match |
|
|
| Switch.cs:118:25:118:25 | access to parameter s | Switch.cs:118:28:118:31 | "fu" | semmle.label | successor |
|
|
| Switch.cs:118:25:118:31 | ... == ... | Switch.cs:118:42:118:42 | 2 | semmle.label | true |
|
|
| Switch.cs:118:25:118:31 | ... == ... | Switch.cs:120:17:120:17 | 1 | semmle.label | false |
|
|
| Switch.cs:118:28:118:31 | "fu" | Switch.cs:118:25:118:31 | ... == ... | semmle.label | successor |
|
|
| Switch.cs:118:35:118:43 | return ...; | Switch.cs:113:9:113:11 | exit M10 | semmle.label | return |
|
|
| Switch.cs:118:42:118:42 | 2 | Switch.cs:118:35:118:43 | return ...; | semmle.label | successor |
|
|
| Switch.cs:120:9:120:18 | return ...; | Switch.cs:113:9:113:11 | exit M10 | semmle.label | return |
|
|
| Switch.cs:120:16:120:17 | -... | Switch.cs:120:9:120:18 | return ...; | semmle.label | successor |
|
|
| Switch.cs:120:17:120:17 | 1 | Switch.cs:120:16:120:17 | -... | semmle.label | successor |
|
|
| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:124:5:127:5 | {...} | semmle.label | successor |
|
|
| Switch.cs:124:5:127:5 | {...} | Switch.cs:125:9:126:19 | if (...) ... | semmle.label | successor |
|
|
| Switch.cs:125:9:126:19 | if (...) ... | Switch.cs:125:13:125:48 | ... switch { ... } | semmle.label | successor |
|
|
| Switch.cs:125:13:125:13 | access to parameter o | Switch.cs:125:24:125:34 | ... => ... | semmle.label | successor |
|
|
| Switch.cs:125:13:125:48 | ... switch { ... } | Switch.cs:125:13:125:13 | access to parameter o | semmle.label | successor |
|
|
| Switch.cs:125:24:125:29 | Boolean b | Switch.cs:125:34:125:34 | access to local variable b | semmle.label | match |
|
|
| Switch.cs:125:24:125:29 | Boolean b | Switch.cs:125:37:125:46 | ... => ... | semmle.label | no-match |
|
|
| Switch.cs:125:24:125:34 | ... => ... | Switch.cs:125:24:125:29 | Boolean b | semmle.label | successor |
|
|
| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:123:10:123:12 | exit M11 | semmle.label | false |
|
|
| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:126:13:126:19 | return ...; | semmle.label | true |
|
|
| Switch.cs:125:37:125:37 | _ | Switch.cs:125:42:125:46 | false | semmle.label | match |
|
|
| Switch.cs:125:37:125:46 | ... => ... | Switch.cs:125:37:125:37 | _ | semmle.label | successor |
|
|
| Switch.cs:125:42:125:46 | false | Switch.cs:123:10:123:12 | exit M11 | semmle.label | false |
|
|
| Switch.cs:126:13:126:19 | return ...; | Switch.cs:123:10:123:12 | exit M11 | semmle.label | return |
|
|
| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:130:5:132:5 | {...} | semmle.label | successor |
|
|
| Switch.cs:130:5:132:5 | {...} | Switch.cs:131:17:131:53 | ... switch { ... } | semmle.label | successor |
|
|
| Switch.cs:131:9:131:67 | return ...; | Switch.cs:129:12:129:14 | exit M12 | semmle.label | return |
|
|
| Switch.cs:131:17:131:17 | access to parameter o | Switch.cs:131:28:131:40 | ... => ... | semmle.label | successor |
|
|
| Switch.cs:131:17:131:53 | ... switch { ... } | Switch.cs:131:17:131:17 | access to parameter o | semmle.label | successor |
|
|
| Switch.cs:131:28:131:35 | String s | Switch.cs:131:40:131:40 | access to local variable s | semmle.label | match |
|
|
| Switch.cs:131:28:131:35 | String s | Switch.cs:131:43:131:51 | ... => ... | semmle.label | no-match |
|
|
| Switch.cs:131:28:131:40 | ... => ... | Switch.cs:131:28:131:35 | String s | semmle.label | successor |
|
|
| Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:131:9:131:67 | return ...; | semmle.label | null |
|
|
| Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:131:56:131:66 | call to method ToString | semmle.label | non-null |
|
|
| Switch.cs:131:43:131:43 | _ | Switch.cs:131:48:131:51 | null | semmle.label | match |
|
|
| Switch.cs:131:43:131:51 | ... => ... | Switch.cs:131:43:131:43 | _ | semmle.label | successor |
|
|
| Switch.cs:131:48:131:51 | null | Switch.cs:131:9:131:67 | return ...; | semmle.label | null |
|
|
| Switch.cs:131:56:131:66 | call to method ToString | Switch.cs:131:9:131:67 | return ...; | semmle.label | successor |
|
|
| TypeAccesses.cs:3:10:3:10 | enter M | TypeAccesses.cs:4:5:9:5 | {...} | semmle.label | successor |
|
|
| TypeAccesses.cs:4:5:9:5 | {...} | TypeAccesses.cs:5:9:5:26 | ... ...; | semmle.label | successor |
|
|
| TypeAccesses.cs:5:9:5:26 | ... ...; | TypeAccesses.cs:5:25:5:25 | access to parameter o | semmle.label | successor |
|
|
| TypeAccesses.cs:5:13:5:25 | String s = ... | TypeAccesses.cs:6:9:6:24 | ...; | semmle.label | successor |
|
|
| TypeAccesses.cs:5:17:5:25 | (...) ... | TypeAccesses.cs:5:13:5:25 | String s = ... | semmle.label | successor |
|
|
| TypeAccesses.cs:5:25:5:25 | access to parameter o | TypeAccesses.cs:5:17:5:25 | (...) ... | semmle.label | successor |
|
|
| TypeAccesses.cs:6:9:6:23 | ... = ... | TypeAccesses.cs:7:9:7:25 | if (...) ... | semmle.label | successor |
|
|
| TypeAccesses.cs:6:9:6:24 | ...; | TypeAccesses.cs:6:13:6:13 | access to parameter o | semmle.label | successor |
|
|
| TypeAccesses.cs:6:13:6:13 | access to parameter o | TypeAccesses.cs:6:13:6:23 | ... as ... | semmle.label | successor |
|
|
| TypeAccesses.cs:6:13:6:23 | ... as ... | TypeAccesses.cs:6:9:6:23 | ... = ... | semmle.label | successor |
|
|
| TypeAccesses.cs:7:9:7:25 | if (...) ... | TypeAccesses.cs:7:13:7:13 | access to parameter o | semmle.label | successor |
|
|
| TypeAccesses.cs:7:13:7:13 | access to parameter o | TypeAccesses.cs:7:18:7:22 | Int32 j | semmle.label | successor |
|
|
| TypeAccesses.cs:7:13:7:22 | ... is ... | TypeAccesses.cs:7:25:7:25 | ; | semmle.label | true |
|
|
| TypeAccesses.cs:7:13:7:22 | ... is ... | TypeAccesses.cs:8:9:8:28 | ... ...; | semmle.label | false |
|
|
| TypeAccesses.cs:7:18:7:22 | Int32 j | TypeAccesses.cs:7:13:7:22 | ... is ... | semmle.label | successor |
|
|
| TypeAccesses.cs:7:25:7:25 | ; | TypeAccesses.cs:8:9:8:28 | ... ...; | semmle.label | successor |
|
|
| TypeAccesses.cs:8:9:8:28 | ... ...; | TypeAccesses.cs:8:17:8:27 | typeof(...) | semmle.label | successor |
|
|
| TypeAccesses.cs:8:13:8:27 | Type t = ... | TypeAccesses.cs:3:10:3:10 | exit M | semmle.label | successor |
|
|
| TypeAccesses.cs:8:17:8:27 | typeof(...) | TypeAccesses.cs:8:13:8:27 | Type t = ... | semmle.label | successor |
|
|
| VarDecls.cs:5:18:5:19 | enter M1 | VarDecls.cs:6:5:11:5 | {...} | semmle.label | successor |
|
|
| VarDecls.cs:6:5:11:5 | {...} | VarDecls.cs:7:9:10:9 | fixed(...) { ... } | semmle.label | successor |
|
|
| VarDecls.cs:7:9:10:9 | fixed(...) { ... } | VarDecls.cs:7:27:7:33 | access to parameter strings | semmle.label | successor |
|
|
| VarDecls.cs:7:22:7:36 | Char* c1 = ... | VarDecls.cs:7:44:7:50 | access to parameter strings | semmle.label | successor |
|
|
| VarDecls.cs:7:27:7:33 | access to parameter strings | VarDecls.cs:7:35:7:35 | 0 | semmle.label | successor |
|
|
| VarDecls.cs:7:27:7:36 | access to array element | VarDecls.cs:7:22:7:36 | Char* c1 = ... | semmle.label | successor |
|
|
| VarDecls.cs:7:35:7:35 | 0 | VarDecls.cs:7:27:7:36 | access to array element | semmle.label | successor |
|
|
| VarDecls.cs:7:39:7:53 | Char* c2 = ... | VarDecls.cs:8:9:10:9 | {...} | semmle.label | successor |
|
|
| VarDecls.cs:7:44:7:50 | access to parameter strings | VarDecls.cs:7:52:7:52 | 1 | semmle.label | successor |
|
|
| VarDecls.cs:7:44:7:53 | access to array element | VarDecls.cs:7:39:7:53 | Char* c2 = ... | semmle.label | successor |
|
|
| VarDecls.cs:7:52:7:52 | 1 | VarDecls.cs:7:44:7:53 | access to array element | semmle.label | successor |
|
|
| VarDecls.cs:8:9:10:9 | {...} | VarDecls.cs:9:27:9:28 | access to local variable c1 | semmle.label | successor |
|
|
| VarDecls.cs:9:13:9:29 | return ...; | VarDecls.cs:5:18:5:19 | exit M1 | semmle.label | return |
|
|
| VarDecls.cs:9:20:9:28 | (...) ... | VarDecls.cs:9:13:9:29 | return ...; | semmle.label | successor |
|
|
| VarDecls.cs:9:27:9:28 | access to local variable c1 | VarDecls.cs:9:20:9:28 | (...) ... | semmle.label | successor |
|
|
| VarDecls.cs:13:12:13:13 | enter M2 | VarDecls.cs:14:5:17:5 | {...} | semmle.label | successor |
|
|
| VarDecls.cs:14:5:17:5 | {...} | VarDecls.cs:15:9:15:30 | ... ...; | semmle.label | successor |
|
|
| VarDecls.cs:15:9:15:30 | ... ...; | VarDecls.cs:15:21:15:21 | access to parameter s | semmle.label | successor |
|
|
| VarDecls.cs:15:16:15:21 | String s1 = ... | VarDecls.cs:15:29:15:29 | access to parameter s | semmle.label | successor |
|
|
| VarDecls.cs:15:21:15:21 | access to parameter s | VarDecls.cs:15:16:15:21 | String s1 = ... | semmle.label | successor |
|
|
| VarDecls.cs:15:24:15:29 | String s2 = ... | VarDecls.cs:16:16:16:17 | access to local variable s1 | semmle.label | successor |
|
|
| VarDecls.cs:15:29:15:29 | access to parameter s | VarDecls.cs:15:24:15:29 | String s2 = ... | semmle.label | successor |
|
|
| VarDecls.cs:16:9:16:23 | return ...; | VarDecls.cs:13:12:13:13 | exit M2 | semmle.label | return |
|
|
| VarDecls.cs:16:16:16:17 | access to local variable s1 | VarDecls.cs:16:21:16:22 | access to local variable s2 | semmle.label | successor |
|
|
| VarDecls.cs:16:16:16:22 | ... + ... | VarDecls.cs:16:9:16:23 | return ...; | semmle.label | successor |
|
|
| VarDecls.cs:16:21:16:22 | access to local variable s2 | VarDecls.cs:16:16:16:22 | ... + ... | semmle.label | successor |
|
|
| VarDecls.cs:19:7:19:8 | enter M3 | VarDecls.cs:20:5:26:5 | {...} | semmle.label | successor |
|
|
| VarDecls.cs:20:5:26:5 | {...} | VarDecls.cs:21:9:22:13 | using (...) {...} | semmle.label | successor |
|
|
| VarDecls.cs:21:9:22:13 | using (...) {...} | VarDecls.cs:21:16:21:22 | object creation of type C | semmle.label | successor |
|
|
| VarDecls.cs:21:16:21:22 | object creation of type C | VarDecls.cs:22:13:22:13 | ; | semmle.label | successor |
|
|
| VarDecls.cs:22:13:22:13 | ; | VarDecls.cs:24:9:25:29 | using (...) {...} | semmle.label | successor |
|
|
| VarDecls.cs:24:9:25:29 | using (...) {...} | VarDecls.cs:24:22:24:28 | object creation of type C | semmle.label | successor |
|
|
| VarDecls.cs:24:18:24:28 | C x = ... | VarDecls.cs:24:35:24:41 | object creation of type C | semmle.label | successor |
|
|
| VarDecls.cs:24:22:24:28 | object creation of type C | VarDecls.cs:24:18:24:28 | C x = ... | semmle.label | successor |
|
|
| VarDecls.cs:24:31:24:41 | C y = ... | VarDecls.cs:25:20:25:28 | ... ? ... : ... | semmle.label | successor |
|
|
| VarDecls.cs:24:35:24:41 | object creation of type C | VarDecls.cs:24:31:24:41 | C y = ... | semmle.label | successor |
|
|
| VarDecls.cs:25:13:25:29 | return ...; | VarDecls.cs:19:7:19:8 | exit M3 | semmle.label | return |
|
|
| VarDecls.cs:25:20:25:20 | access to parameter b | VarDecls.cs:25:24:25:24 | access to local variable x | semmle.label | true |
|
|
| VarDecls.cs:25:20:25:20 | access to parameter b | VarDecls.cs:25:28:25:28 | access to local variable y | semmle.label | false |
|
|
| VarDecls.cs:25:20:25:28 | ... ? ... : ... | VarDecls.cs:25:20:25:20 | access to parameter b | semmle.label | successor |
|
|
| VarDecls.cs:25:24:25:24 | access to local variable x | VarDecls.cs:25:13:25:29 | return ...; | semmle.label | successor |
|
|
| VarDecls.cs:25:28:25:28 | access to local variable y | VarDecls.cs:25:13:25:29 | return ...; | semmle.label | successor |
|
|
| VarDecls.cs:28:41:28:47 | enter Dispose | VarDecls.cs:28:51:28:53 | {...} | semmle.label | successor |
|
|
| VarDecls.cs:28:51:28:53 | {...} | VarDecls.cs:28:41:28:47 | exit Dispose | semmle.label | successor |
|
|
| cflow.cs:5:17:5:20 | enter Main | cflow.cs:6:5:35:5 | {...} | semmle.label | successor |
|
|
| cflow.cs:6:5:35:5 | {...} | cflow.cs:7:9:7:28 | ... ...; | semmle.label | successor |
|
|
| cflow.cs:7:9:7:28 | ... ...; | cflow.cs:7:17:7:20 | access to parameter args | semmle.label | successor |
|
|
| cflow.cs:7:13:7:27 | Int32 a = ... | cflow.cs:9:9:9:40 | ...; | semmle.label | successor |
|
|
| cflow.cs:7:17:7:20 | access to parameter args | cflow.cs:7:17:7:27 | access to property Length | semmle.label | successor |
|
|
| cflow.cs:7:17:7:27 | access to property Length | cflow.cs:7:13:7:27 | Int32 a = ... | semmle.label | successor |
|
|
| cflow.cs:9:9:9:39 | ... = ... | cflow.cs:11:9:12:49 | if (...) ... | semmle.label | successor |
|
|
| cflow.cs:9:9:9:40 | ...; | cflow.cs:9:13:9:29 | object creation of type ControlFlow | semmle.label | successor |
|
|
| cflow.cs:9:13:9:29 | object creation of type ControlFlow | cflow.cs:9:38:9:38 | access to local variable a | semmle.label | successor |
|
|
| cflow.cs:9:13:9:39 | call to method Switch | cflow.cs:9:9:9:39 | ... = ... | semmle.label | successor |
|
|
| cflow.cs:9:38:9:38 | access to local variable a | cflow.cs:9:13:9:39 | call to method Switch | semmle.label | successor |
|
|
| cflow.cs:11:9:12:49 | if (...) ... | cflow.cs:11:13:11:13 | access to local variable a | semmle.label | successor |
|
|
| cflow.cs:11:13:11:13 | access to local variable a | cflow.cs:11:17:11:17 | 3 | semmle.label | successor |
|
|
| cflow.cs:11:13:11:17 | ... > ... | cflow.cs:12:13:12:49 | ...; | semmle.label | true |
|
|
| cflow.cs:11:13:11:17 | ... > ... | cflow.cs:14:9:17:9 | while (...) ... | semmle.label | false |
|
|
| cflow.cs:11:17:11:17 | 3 | cflow.cs:11:13:11:17 | ... > ... | semmle.label | successor |
|
|
| cflow.cs:12:13:12:48 | call to method WriteLine | cflow.cs:14:9:17:9 | while (...) ... | semmle.label | successor |
|
|
| cflow.cs:12:13:12:49 | ...; | cflow.cs:12:31:12:47 | "more than a few" | semmle.label | successor |
|
|
| cflow.cs:12:31:12:47 | "more than a few" | cflow.cs:12:13:12:48 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:14:16:14:16 | access to local variable a | semmle.label | successor |
|
|
| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:14:20:14:20 | 0 | semmle.label | successor |
|
|
| cflow.cs:14:16:14:20 | ... > ... | cflow.cs:15:9:17:9 | {...} | semmle.label | true |
|
|
| cflow.cs:14:16:14:20 | ... > ... | cflow.cs:19:9:22:25 | do ... while (...); | semmle.label | false |
|
|
| cflow.cs:14:20:14:20 | 0 | cflow.cs:14:16:14:20 | ... > ... | semmle.label | successor |
|
|
| cflow.cs:15:9:17:9 | {...} | cflow.cs:16:13:16:41 | ...; | semmle.label | successor |
|
|
| cflow.cs:16:13:16:40 | call to method WriteLine | cflow.cs:14:16:14:16 | access to local variable a | semmle.label | successor |
|
|
| cflow.cs:16:13:16:41 | ...; | cflow.cs:16:31:16:31 | access to local variable a | semmle.label | successor |
|
|
| cflow.cs:16:31:16:31 | access to local variable a | cflow.cs:16:31:16:33 | ...-- | semmle.label | successor |
|
|
| cflow.cs:16:31:16:33 | ...-- | cflow.cs:16:37:16:39 | 100 | semmle.label | successor |
|
|
| cflow.cs:16:31:16:39 | ... * ... | cflow.cs:16:13:16:40 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:16:37:16:39 | 100 | cflow.cs:16:31:16:39 | ... * ... | semmle.label | successor |
|
|
| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:20:9:22:9 | {...} | semmle.label | successor |
|
|
| cflow.cs:20:9:22:9 | {...} | cflow.cs:21:13:21:36 | ...; | semmle.label | successor |
|
|
| cflow.cs:21:13:21:35 | call to method WriteLine | cflow.cs:22:18:22:18 | access to local variable a | semmle.label | successor |
|
|
| cflow.cs:21:13:21:36 | ...; | cflow.cs:21:32:21:32 | access to local variable a | semmle.label | successor |
|
|
| cflow.cs:21:31:21:34 | -... | cflow.cs:21:13:21:35 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:21:32:21:32 | access to local variable a | cflow.cs:21:32:21:34 | ...++ | semmle.label | successor |
|
|
| cflow.cs:21:32:21:34 | ...++ | cflow.cs:21:31:21:34 | -... | semmle.label | successor |
|
|
| cflow.cs:22:18:22:18 | access to local variable a | cflow.cs:22:22:22:23 | 10 | semmle.label | successor |
|
|
| cflow.cs:22:18:22:23 | ... < ... | cflow.cs:20:9:22:9 | {...} | semmle.label | true |
|
|
| cflow.cs:22:18:22:23 | ... < ... | cflow.cs:24:9:34:9 | for (...;...;...) ... | semmle.label | false |
|
|
| cflow.cs:22:22:22:23 | 10 | cflow.cs:22:18:22:23 | ... < ... | semmle.label | successor |
|
|
| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:24:22:24:22 | 1 | semmle.label | successor |
|
|
| cflow.cs:24:18:24:22 | Int32 i = ... | cflow.cs:24:25:24:25 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:24:22:24:22 | 1 | cflow.cs:24:18:24:22 | Int32 i = ... | semmle.label | successor |
|
|
| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:24:30:24:31 | 20 | semmle.label | successor |
|
|
| cflow.cs:24:25:24:31 | ... <= ... | cflow.cs:5:17:5:20 | exit Main | semmle.label | false |
|
|
| cflow.cs:24:25:24:31 | ... <= ... | cflow.cs:25:9:34:9 | {...} | semmle.label | true |
|
|
| cflow.cs:24:30:24:31 | 20 | cflow.cs:24:25:24:31 | ... <= ... | semmle.label | successor |
|
|
| cflow.cs:24:34:24:34 | access to local variable i | cflow.cs:24:34:24:36 | ...++ | semmle.label | successor |
|
|
| cflow.cs:24:34:24:36 | ...++ | cflow.cs:24:25:24:25 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:25:9:34:9 | {...} | cflow.cs:26:13:33:37 | if (...) ... | semmle.label | successor |
|
|
| cflow.cs:26:13:33:37 | if (...) ... | cflow.cs:26:17:26:40 | ... && ... | semmle.label | successor |
|
|
| cflow.cs:26:17:26:17 | access to local variable i | cflow.cs:26:21:26:21 | 3 | semmle.label | successor |
|
|
| cflow.cs:26:17:26:21 | ... % ... | cflow.cs:26:26:26:26 | 0 | semmle.label | successor |
|
|
| cflow.cs:26:17:26:26 | ... == ... | cflow.cs:26:31:26:31 | access to local variable i | semmle.label | true |
|
|
| cflow.cs:26:17:26:26 | ... == ... | cflow.cs:28:18:33:37 | if (...) ... | semmle.label | false |
|
|
| cflow.cs:26:17:26:40 | ... && ... | cflow.cs:26:17:26:17 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:26:21:26:21 | 3 | cflow.cs:26:17:26:21 | ... % ... | semmle.label | successor |
|
|
| cflow.cs:26:26:26:26 | 0 | cflow.cs:26:17:26:26 | ... == ... | semmle.label | successor |
|
|
| cflow.cs:26:31:26:31 | access to local variable i | cflow.cs:26:35:26:35 | 5 | semmle.label | successor |
|
|
| cflow.cs:26:31:26:35 | ... % ... | cflow.cs:26:40:26:40 | 0 | semmle.label | successor |
|
|
| cflow.cs:26:31:26:40 | ... == ... | cflow.cs:27:17:27:46 | ...; | semmle.label | true |
|
|
| cflow.cs:26:31:26:40 | ... == ... | cflow.cs:28:18:33:37 | if (...) ... | semmle.label | false |
|
|
| cflow.cs:26:35:26:35 | 5 | cflow.cs:26:31:26:35 | ... % ... | semmle.label | successor |
|
|
| cflow.cs:26:40:26:40 | 0 | cflow.cs:26:31:26:40 | ... == ... | semmle.label | successor |
|
|
| cflow.cs:27:17:27:45 | call to method WriteLine | cflow.cs:24:34:24:34 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:27:17:27:46 | ...; | cflow.cs:27:35:27:44 | "FizzBuzz" | semmle.label | successor |
|
|
| cflow.cs:27:35:27:44 | "FizzBuzz" | cflow.cs:27:17:27:45 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:28:18:33:37 | if (...) ... | cflow.cs:28:22:28:22 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:28:22:28:22 | access to local variable i | cflow.cs:28:26:28:26 | 3 | semmle.label | successor |
|
|
| cflow.cs:28:22:28:26 | ... % ... | cflow.cs:28:31:28:31 | 0 | semmle.label | successor |
|
|
| cflow.cs:28:22:28:31 | ... == ... | cflow.cs:29:17:29:42 | ...; | semmle.label | true |
|
|
| cflow.cs:28:22:28:31 | ... == ... | cflow.cs:30:18:33:37 | if (...) ... | semmle.label | false |
|
|
| cflow.cs:28:26:28:26 | 3 | cflow.cs:28:22:28:26 | ... % ... | semmle.label | successor |
|
|
| cflow.cs:28:31:28:31 | 0 | cflow.cs:28:22:28:31 | ... == ... | semmle.label | successor |
|
|
| cflow.cs:29:17:29:41 | call to method WriteLine | cflow.cs:24:34:24:34 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:29:17:29:42 | ...; | cflow.cs:29:35:29:40 | "Fizz" | semmle.label | successor |
|
|
| cflow.cs:29:35:29:40 | "Fizz" | cflow.cs:29:17:29:41 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:30:18:33:37 | if (...) ... | cflow.cs:30:22:30:22 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:30:22:30:22 | access to local variable i | cflow.cs:30:26:30:26 | 5 | semmle.label | successor |
|
|
| cflow.cs:30:22:30:26 | ... % ... | cflow.cs:30:31:30:31 | 0 | semmle.label | successor |
|
|
| cflow.cs:30:22:30:31 | ... == ... | cflow.cs:31:17:31:42 | ...; | semmle.label | true |
|
|
| cflow.cs:30:22:30:31 | ... == ... | cflow.cs:33:17:33:37 | ...; | semmle.label | false |
|
|
| cflow.cs:30:26:30:26 | 5 | cflow.cs:30:22:30:26 | ... % ... | semmle.label | successor |
|
|
| cflow.cs:30:31:30:31 | 0 | cflow.cs:30:22:30:31 | ... == ... | semmle.label | successor |
|
|
| cflow.cs:31:17:31:41 | call to method WriteLine | cflow.cs:24:34:24:34 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:31:17:31:42 | ...; | cflow.cs:31:35:31:40 | "Buzz" | semmle.label | successor |
|
|
| cflow.cs:31:35:31:40 | "Buzz" | cflow.cs:31:17:31:41 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:33:17:33:36 | call to method WriteLine | cflow.cs:24:34:24:34 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:33:17:33:37 | ...; | cflow.cs:33:35:33:35 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:33:35:33:35 | access to local variable i | cflow.cs:33:17:33:36 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:38:5:68:5 | {...} | semmle.label | successor |
|
|
| cflow.cs:38:5:68:5 | {...} | cflow.cs:39:9:50:9 | switch (...) {...} | semmle.label | successor |
|
|
| cflow.cs:39:9:50:9 | switch (...) {...} | cflow.cs:39:17:39:17 | access to parameter a | semmle.label | successor |
|
|
| cflow.cs:39:17:39:17 | access to parameter a | cflow.cs:41:13:41:19 | case ...: | semmle.label | successor |
|
|
| cflow.cs:41:13:41:19 | case ...: | cflow.cs:41:18:41:18 | 1 | semmle.label | successor |
|
|
| cflow.cs:41:18:41:18 | 1 | cflow.cs:42:17:42:39 | ...; | semmle.label | match |
|
|
| cflow.cs:41:18:41:18 | 1 | cflow.cs:44:13:44:19 | case ...: | semmle.label | no-match |
|
|
| cflow.cs:42:17:42:38 | call to method WriteLine | cflow.cs:43:27:43:27 | 2 | semmle.label | successor |
|
|
| cflow.cs:42:17:42:39 | ...; | cflow.cs:42:35:42:37 | "1" | semmle.label | successor |
|
|
| cflow.cs:42:35:42:37 | "1" | cflow.cs:42:17:42:38 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:43:17:43:28 | goto case ...; | cflow.cs:44:13:44:19 | case ...: | semmle.label | goto(2) |
|
|
| cflow.cs:43:27:43:27 | 2 | cflow.cs:43:17:43:28 | goto case ...; | semmle.label | successor |
|
|
| cflow.cs:44:13:44:19 | case ...: | cflow.cs:44:18:44:18 | 2 | semmle.label | successor |
|
|
| cflow.cs:44:18:44:18 | 2 | cflow.cs:45:17:45:39 | ...; | semmle.label | match |
|
|
| cflow.cs:44:18:44:18 | 2 | cflow.cs:47:13:47:19 | case ...: | semmle.label | no-match |
|
|
| cflow.cs:45:17:45:38 | call to method WriteLine | cflow.cs:46:27:46:27 | 1 | semmle.label | successor |
|
|
| cflow.cs:45:17:45:39 | ...; | cflow.cs:45:35:45:37 | "2" | semmle.label | successor |
|
|
| cflow.cs:45:35:45:37 | "2" | cflow.cs:45:17:45:38 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:46:17:46:28 | goto case ...; | cflow.cs:41:13:41:19 | case ...: | semmle.label | goto(1) |
|
|
| cflow.cs:46:27:46:27 | 1 | cflow.cs:46:17:46:28 | goto case ...; | semmle.label | successor |
|
|
| cflow.cs:47:13:47:19 | case ...: | cflow.cs:47:18:47:18 | 3 | semmle.label | successor |
|
|
| cflow.cs:47:18:47:18 | 3 | cflow.cs:48:17:48:39 | ...; | semmle.label | match |
|
|
| cflow.cs:47:18:47:18 | 3 | cflow.cs:51:9:59:9 | switch (...) {...} | semmle.label | no-match |
|
|
| cflow.cs:48:17:48:38 | call to method WriteLine | cflow.cs:49:17:49:22 | break; | semmle.label | successor |
|
|
| cflow.cs:48:17:48:39 | ...; | cflow.cs:48:35:48:37 | "3" | semmle.label | successor |
|
|
| cflow.cs:48:35:48:37 | "3" | cflow.cs:48:17:48:38 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:49:17:49:22 | break; | cflow.cs:51:9:59:9 | switch (...) {...} | semmle.label | break |
|
|
| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:51:17:51:17 | access to parameter a | semmle.label | successor |
|
|
| cflow.cs:51:17:51:17 | access to parameter a | cflow.cs:53:13:53:20 | case ...: | semmle.label | successor |
|
|
| cflow.cs:53:13:53:20 | case ...: | cflow.cs:53:18:53:19 | 42 | semmle.label | successor |
|
|
| cflow.cs:53:18:53:19 | 42 | cflow.cs:54:17:54:48 | ...; | semmle.label | match |
|
|
| cflow.cs:53:18:53:19 | 42 | cflow.cs:56:13:56:20 | default: | semmle.label | no-match |
|
|
| cflow.cs:54:17:54:47 | call to method WriteLine | cflow.cs:55:17:55:22 | break; | semmle.label | successor |
|
|
| cflow.cs:54:17:54:48 | ...; | cflow.cs:54:35:54:46 | "The answer" | semmle.label | successor |
|
|
| cflow.cs:54:35:54:46 | "The answer" | cflow.cs:54:17:54:47 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:55:17:55:22 | break; | cflow.cs:60:9:66:9 | switch (...) {...} | semmle.label | break |
|
|
| cflow.cs:56:13:56:20 | default: | cflow.cs:57:17:57:52 | ...; | semmle.label | successor |
|
|
| cflow.cs:57:17:57:51 | call to method WriteLine | cflow.cs:58:17:58:22 | break; | semmle.label | successor |
|
|
| cflow.cs:57:17:57:52 | ...; | cflow.cs:57:35:57:50 | "Not the answer" | semmle.label | successor |
|
|
| cflow.cs:57:35:57:50 | "Not the answer" | cflow.cs:57:17:57:51 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:58:17:58:22 | break; | cflow.cs:60:9:66:9 | switch (...) {...} | semmle.label | break |
|
|
| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:60:27:60:31 | this access | semmle.label | successor |
|
|
| cflow.cs:60:17:60:32 | call to method Parse | cflow.cs:62:13:62:19 | case ...: | semmle.label | successor |
|
|
| cflow.cs:60:27:60:31 | access to field Field | cflow.cs:60:17:60:32 | call to method Parse | semmle.label | successor |
|
|
| cflow.cs:60:27:60:31 | this access | cflow.cs:60:27:60:31 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:62:13:62:19 | case ...: | cflow.cs:62:18:62:18 | 0 | semmle.label | successor |
|
|
| cflow.cs:62:18:62:18 | 0 | cflow.cs:63:17:64:55 | if (...) ... | semmle.label | match |
|
|
| cflow.cs:62:18:62:18 | 0 | cflow.cs:67:16:67:16 | access to parameter a | semmle.label | no-match |
|
|
| cflow.cs:63:17:64:55 | if (...) ... | cflow.cs:63:21:63:34 | !... | semmle.label | successor |
|
|
| cflow.cs:63:21:63:34 | !... | cflow.cs:63:23:63:27 | this access | semmle.label | successor |
|
|
| cflow.cs:63:23:63:27 | access to field Field | cflow.cs:63:32:63:33 | "" | semmle.label | successor |
|
|
| cflow.cs:63:23:63:27 | this access | cflow.cs:63:23:63:27 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:63:23:63:33 | ... == ... | cflow.cs:64:27:64:54 | object creation of type NullReferenceException | semmle.label | false |
|
|
| cflow.cs:63:23:63:33 | ... == ... | cflow.cs:65:17:65:22 | break; | semmle.label | true |
|
|
| cflow.cs:63:32:63:33 | "" | cflow.cs:63:23:63:33 | ... == ... | semmle.label | successor |
|
|
| cflow.cs:64:21:64:55 | throw ...; | cflow.cs:37:17:37:22 | exit Switch | semmle.label | exception(NullReferenceException) |
|
|
| cflow.cs:64:27:64:54 | object creation of type NullReferenceException | cflow.cs:64:21:64:55 | throw ...; | semmle.label | successor |
|
|
| cflow.cs:65:17:65:22 | break; | cflow.cs:67:16:67:16 | access to parameter a | semmle.label | break |
|
|
| cflow.cs:67:9:67:17 | return ...; | cflow.cs:37:17:37:22 | exit Switch | semmle.label | return |
|
|
| cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:67:9:67:17 | return ...; | semmle.label | successor |
|
|
| cflow.cs:70:18:70:18 | enter M | cflow.cs:71:5:82:5 | {...} | semmle.label | successor |
|
|
| cflow.cs:71:5:82:5 | {...} | cflow.cs:72:9:73:19 | if (...) ... | semmle.label | successor |
|
|
| cflow.cs:72:9:73:19 | if (...) ... | cflow.cs:72:13:72:13 | access to parameter s | semmle.label | successor |
|
|
| cflow.cs:72:13:72:13 | access to parameter s | cflow.cs:72:18:72:21 | null | semmle.label | successor |
|
|
| cflow.cs:72:13:72:21 | ... == ... | cflow.cs:73:13:73:19 | return ...; | semmle.label | true |
|
|
| cflow.cs:72:13:72:21 | ... == ... | cflow.cs:74:9:81:9 | if (...) ... | semmle.label | false |
|
|
| cflow.cs:72:18:72:21 | null | cflow.cs:72:13:72:21 | ... == ... | semmle.label | successor |
|
|
| cflow.cs:73:13:73:19 | return ...; | cflow.cs:70:18:70:18 | exit M | semmle.label | return |
|
|
| cflow.cs:74:9:81:9 | if (...) ... | cflow.cs:74:13:74:13 | access to parameter s | semmle.label | successor |
|
|
| cflow.cs:74:13:74:13 | access to parameter s | cflow.cs:74:13:74:20 | access to property Length | semmle.label | successor |
|
|
| cflow.cs:74:13:74:20 | access to property Length | cflow.cs:74:24:74:24 | 0 | semmle.label | successor |
|
|
| cflow.cs:74:13:74:24 | ... > ... | cflow.cs:75:9:77:9 | {...} | semmle.label | true |
|
|
| cflow.cs:74:13:74:24 | ... > ... | cflow.cs:79:9:81:9 | {...} | semmle.label | false |
|
|
| cflow.cs:74:24:74:24 | 0 | cflow.cs:74:13:74:24 | ... > ... | semmle.label | successor |
|
|
| cflow.cs:75:9:77:9 | {...} | cflow.cs:76:13:76:33 | ...; | semmle.label | successor |
|
|
| cflow.cs:76:13:76:32 | call to method WriteLine | cflow.cs:70:18:70:18 | exit M | semmle.label | successor |
|
|
| cflow.cs:76:13:76:33 | ...; | cflow.cs:76:31:76:31 | access to parameter s | semmle.label | successor |
|
|
| cflow.cs:76:31:76:31 | access to parameter s | cflow.cs:76:13:76:32 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:79:9:81:9 | {...} | cflow.cs:80:13:80:48 | ...; | semmle.label | successor |
|
|
| cflow.cs:80:13:80:47 | call to method WriteLine | cflow.cs:70:18:70:18 | exit M | semmle.label | successor |
|
|
| cflow.cs:80:13:80:48 | ...; | cflow.cs:80:31:80:46 | "<empty string>" | semmle.label | successor |
|
|
| cflow.cs:80:31:80:46 | "<empty string>" | cflow.cs:80:13:80:47 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:84:18:84:19 | enter M2 | cflow.cs:85:5:88:5 | {...} | semmle.label | successor |
|
|
| cflow.cs:85:5:88:5 | {...} | cflow.cs:86:9:87:33 | if (...) ... | semmle.label | successor |
|
|
| cflow.cs:86:9:87:33 | if (...) ... | cflow.cs:86:13:86:37 | ... && ... | semmle.label | successor |
|
|
| cflow.cs:86:13:86:13 | access to parameter s | cflow.cs:86:18:86:21 | null | semmle.label | successor |
|
|
| cflow.cs:86:13:86:21 | ... != ... | cflow.cs:84:18:84:19 | exit M2 | semmle.label | false |
|
|
| cflow.cs:86:13:86:21 | ... != ... | cflow.cs:86:26:86:26 | access to parameter s | semmle.label | true |
|
|
| cflow.cs:86:13:86:37 | ... && ... | cflow.cs:86:13:86:13 | access to parameter s | semmle.label | successor |
|
|
| cflow.cs:86:18:86:21 | null | cflow.cs:86:13:86:21 | ... != ... | semmle.label | successor |
|
|
| cflow.cs:86:26:86:26 | access to parameter s | cflow.cs:86:26:86:33 | access to property Length | semmle.label | successor |
|
|
| cflow.cs:86:26:86:33 | access to property Length | cflow.cs:86:37:86:37 | 0 | semmle.label | successor |
|
|
| cflow.cs:86:26:86:37 | ... > ... | cflow.cs:84:18:84:19 | exit M2 | semmle.label | false |
|
|
| cflow.cs:86:26:86:37 | ... > ... | cflow.cs:87:13:87:33 | ...; | semmle.label | true |
|
|
| cflow.cs:86:37:86:37 | 0 | cflow.cs:86:26:86:37 | ... > ... | semmle.label | successor |
|
|
| cflow.cs:87:13:87:32 | call to method WriteLine | cflow.cs:84:18:84:19 | exit M2 | semmle.label | successor |
|
|
| cflow.cs:87:13:87:33 | ...; | cflow.cs:87:31:87:31 | access to parameter s | semmle.label | successor |
|
|
| cflow.cs:87:31:87:31 | access to parameter s | cflow.cs:87:13:87:32 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:91:5:104:5 | {...} | semmle.label | successor |
|
|
| cflow.cs:91:5:104:5 | {...} | cflow.cs:92:9:93:49 | if (...) ... | semmle.label | successor |
|
|
| cflow.cs:92:9:93:49 | if (...) ... | cflow.cs:92:20:92:20 | access to parameter s | semmle.label | successor |
|
|
| cflow.cs:92:13:92:27 | call to method Equals | cflow.cs:93:45:93:47 | "s" | semmle.label | true |
|
|
| cflow.cs:92:13:92:27 | call to method Equals | cflow.cs:94:9:94:29 | ...; | semmle.label | false |
|
|
| cflow.cs:92:20:92:20 | access to parameter s | cflow.cs:92:23:92:26 | null | semmle.label | successor |
|
|
| cflow.cs:92:23:92:26 | null | cflow.cs:92:13:92:27 | call to method Equals | semmle.label | successor |
|
|
| cflow.cs:93:13:93:49 | throw ...; | cflow.cs:90:18:90:19 | exit M3 | semmle.label | exception(ArgumentNullException) |
|
|
| cflow.cs:93:19:93:48 | object creation of type ArgumentNullException | cflow.cs:93:13:93:49 | throw ...; | semmle.label | successor |
|
|
| cflow.cs:93:45:93:47 | "s" | cflow.cs:93:19:93:48 | object creation of type ArgumentNullException | semmle.label | successor |
|
|
| cflow.cs:94:9:94:28 | call to method WriteLine | cflow.cs:96:9:97:55 | if (...) ... | semmle.label | successor |
|
|
| cflow.cs:94:9:94:29 | ...; | cflow.cs:94:27:94:27 | access to parameter s | semmle.label | successor |
|
|
| cflow.cs:94:27:94:27 | access to parameter s | cflow.cs:94:9:94:28 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:96:9:97:55 | if (...) ... | cflow.cs:96:13:96:17 | this access | semmle.label | successor |
|
|
| cflow.cs:96:13:96:17 | access to field Field | cflow.cs:96:22:96:25 | null | semmle.label | successor |
|
|
| cflow.cs:96:13:96:17 | this access | cflow.cs:96:13:96:17 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:96:13:96:25 | ... != ... | cflow.cs:97:13:97:55 | ...; | semmle.label | true |
|
|
| cflow.cs:96:13:96:25 | ... != ... | cflow.cs:99:9:100:42 | if (...) ... | semmle.label | false |
|
|
| cflow.cs:96:22:96:25 | null | cflow.cs:96:13:96:25 | ... != ... | semmle.label | successor |
|
|
| cflow.cs:97:13:97:54 | call to method WriteLine | cflow.cs:99:9:100:42 | if (...) ... | semmle.label | successor |
|
|
| cflow.cs:97:13:97:55 | ...; | cflow.cs:97:31:97:47 | object creation of type ControlFlow | semmle.label | successor |
|
|
| cflow.cs:97:31:97:47 | object creation of type ControlFlow | cflow.cs:97:31:97:53 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:97:31:97:53 | access to field Field | cflow.cs:97:13:97:54 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:99:9:100:42 | if (...) ... | cflow.cs:99:13:99:17 | this access | semmle.label | successor |
|
|
| cflow.cs:99:13:99:17 | access to field Field | cflow.cs:99:22:99:25 | null | semmle.label | successor |
|
|
| cflow.cs:99:13:99:17 | this access | cflow.cs:99:13:99:17 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:99:13:99:25 | ... != ... | cflow.cs:100:13:100:42 | ...; | semmle.label | true |
|
|
| cflow.cs:99:13:99:25 | ... != ... | cflow.cs:102:9:103:36 | if (...) ... | semmle.label | false |
|
|
| cflow.cs:99:22:99:25 | null | cflow.cs:99:13:99:25 | ... != ... | semmle.label | successor |
|
|
| cflow.cs:100:13:100:41 | call to method WriteLine | cflow.cs:102:9:103:36 | if (...) ... | semmle.label | successor |
|
|
| cflow.cs:100:13:100:42 | ...; | cflow.cs:100:31:100:34 | this access | semmle.label | successor |
|
|
| cflow.cs:100:31:100:34 | this access | cflow.cs:100:31:100:40 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:100:31:100:40 | access to field Field | cflow.cs:100:13:100:41 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:102:9:103:36 | if (...) ... | cflow.cs:102:13:102:16 | this access | semmle.label | successor |
|
|
| cflow.cs:102:13:102:16 | this access | cflow.cs:102:13:102:21 | access to property Prop | semmle.label | successor |
|
|
| cflow.cs:102:13:102:21 | access to property Prop | cflow.cs:102:26:102:29 | null | semmle.label | successor |
|
|
| cflow.cs:102:13:102:29 | ... != ... | cflow.cs:90:18:90:19 | exit M3 | semmle.label | false |
|
|
| cflow.cs:102:13:102:29 | ... != ... | cflow.cs:103:13:103:36 | ...; | semmle.label | true |
|
|
| cflow.cs:102:26:102:29 | null | cflow.cs:102:13:102:29 | ... != ... | semmle.label | successor |
|
|
| cflow.cs:103:13:103:35 | call to method WriteLine | cflow.cs:90:18:90:19 | exit M3 | semmle.label | successor |
|
|
| cflow.cs:103:13:103:36 | ...; | cflow.cs:103:31:103:34 | this access | semmle.label | successor |
|
|
| cflow.cs:103:31:103:34 | access to property Prop | cflow.cs:103:13:103:35 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:103:31:103:34 | this access | cflow.cs:103:31:103:34 | access to property Prop | semmle.label | successor |
|
|
| cflow.cs:106:18:106:19 | enter M4 | cflow.cs:107:5:117:5 | {...} | semmle.label | successor |
|
|
| cflow.cs:107:5:117:5 | {...} | cflow.cs:108:9:115:9 | if (...) ... | semmle.label | successor |
|
|
| cflow.cs:108:9:115:9 | if (...) ... | cflow.cs:108:13:108:13 | access to parameter s | semmle.label | successor |
|
|
| cflow.cs:108:13:108:13 | access to parameter s | cflow.cs:108:18:108:21 | null | semmle.label | successor |
|
|
| cflow.cs:108:13:108:21 | ... != ... | cflow.cs:109:9:115:9 | {...} | semmle.label | true |
|
|
| cflow.cs:108:13:108:21 | ... != ... | cflow.cs:116:9:116:29 | ...; | semmle.label | false |
|
|
| cflow.cs:108:18:108:21 | null | cflow.cs:108:13:108:21 | ... != ... | semmle.label | successor |
|
|
| cflow.cs:109:9:115:9 | {...} | cflow.cs:110:13:113:13 | while (...) ... | semmle.label | successor |
|
|
| cflow.cs:110:13:113:13 | while (...) ... | cflow.cs:110:20:110:23 | true | semmle.label | successor |
|
|
| cflow.cs:110:20:110:23 | true | cflow.cs:111:13:113:13 | {...} | semmle.label | true |
|
|
| cflow.cs:111:13:113:13 | {...} | cflow.cs:112:17:112:37 | ...; | semmle.label | successor |
|
|
| cflow.cs:112:17:112:36 | call to method WriteLine | cflow.cs:110:20:110:23 | true | semmle.label | successor |
|
|
| cflow.cs:112:17:112:37 | ...; | cflow.cs:112:35:112:35 | access to parameter s | semmle.label | successor |
|
|
| cflow.cs:112:35:112:35 | access to parameter s | cflow.cs:112:17:112:36 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:116:9:116:28 | call to method WriteLine | cflow.cs:106:18:106:19 | exit M4 | semmle.label | successor |
|
|
| cflow.cs:116:9:116:29 | ...; | cflow.cs:116:27:116:27 | access to parameter s | semmle.label | successor |
|
|
| cflow.cs:116:27:116:27 | access to parameter s | cflow.cs:116:9:116:28 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:119:20:119:21 | enter M5 | cflow.cs:120:5:124:5 | {...} | semmle.label | successor |
|
|
| cflow.cs:120:5:124:5 | {...} | cflow.cs:121:9:121:18 | ... ...; | semmle.label | successor |
|
|
| cflow.cs:121:9:121:18 | ... ...; | cflow.cs:121:17:121:17 | access to parameter s | semmle.label | successor |
|
|
| cflow.cs:121:13:121:17 | String x = ... | cflow.cs:122:9:122:20 | ...; | semmle.label | successor |
|
|
| cflow.cs:121:17:121:17 | access to parameter s | cflow.cs:121:13:121:17 | String x = ... | semmle.label | successor |
|
|
| cflow.cs:122:9:122:19 | ... = ... | cflow.cs:123:16:123:16 | access to local variable x | semmle.label | successor |
|
|
| cflow.cs:122:9:122:20 | ...; | cflow.cs:122:13:122:13 | access to local variable x | semmle.label | successor |
|
|
| cflow.cs:122:13:122:13 | access to local variable x | cflow.cs:122:17:122:19 | " " | semmle.label | successor |
|
|
| cflow.cs:122:13:122:19 | ... + ... | cflow.cs:122:9:122:19 | ... = ... | semmle.label | successor |
|
|
| cflow.cs:122:17:122:19 | " " | cflow.cs:122:13:122:19 | ... + ... | semmle.label | successor |
|
|
| cflow.cs:123:9:123:17 | return ...; | cflow.cs:119:20:119:21 | exit M5 | semmle.label | return |
|
|
| cflow.cs:123:16:123:16 | access to local variable x | cflow.cs:123:9:123:17 | return ...; | semmle.label | successor |
|
|
| cflow.cs:127:19:127:21 | enter get_Prop | cflow.cs:127:23:127:60 | {...} | semmle.label | successor |
|
|
| cflow.cs:127:23:127:60 | {...} | cflow.cs:127:32:127:57 | ... ? ... : ... | semmle.label | successor |
|
|
| cflow.cs:127:25:127:58 | return ...; | cflow.cs:127:19:127:21 | exit get_Prop | semmle.label | return |
|
|
| cflow.cs:127:32:127:36 | access to field Field | cflow.cs:127:41:127:44 | null | semmle.label | successor |
|
|
| cflow.cs:127:32:127:36 | this access | cflow.cs:127:32:127:36 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:127:32:127:44 | ... == ... | cflow.cs:127:48:127:49 | "" | semmle.label | true |
|
|
| cflow.cs:127:32:127:44 | ... == ... | cflow.cs:127:53:127:57 | this access | semmle.label | false |
|
|
| cflow.cs:127:32:127:57 | ... ? ... : ... | cflow.cs:127:32:127:36 | this access | semmle.label | successor |
|
|
| cflow.cs:127:41:127:44 | null | cflow.cs:127:32:127:44 | ... == ... | semmle.label | successor |
|
|
| cflow.cs:127:48:127:49 | "" | cflow.cs:127:25:127:58 | return ...; | semmle.label | successor |
|
|
| cflow.cs:127:53:127:57 | access to field Field | cflow.cs:127:25:127:58 | return ...; | semmle.label | successor |
|
|
| cflow.cs:127:53:127:57 | this access | cflow.cs:127:53:127:57 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:127:62:127:64 | enter set_Prop | cflow.cs:127:66:127:83 | {...} | semmle.label | successor |
|
|
| cflow.cs:127:66:127:83 | {...} | cflow.cs:127:68:127:81 | ...; | semmle.label | successor |
|
|
| cflow.cs:127:68:127:72 | this access | cflow.cs:127:76:127:80 | access to parameter value | semmle.label | successor |
|
|
| cflow.cs:127:68:127:80 | ... = ... | cflow.cs:127:62:127:64 | exit set_Prop | semmle.label | successor |
|
|
| cflow.cs:127:68:127:81 | ...; | cflow.cs:127:68:127:72 | this access | semmle.label | successor |
|
|
| cflow.cs:127:76:127:80 | access to parameter value | cflow.cs:127:68:127:80 | ... = ... | semmle.label | successor |
|
|
| cflow.cs:129:5:129:15 | enter ControlFlow | cflow.cs:130:5:132:5 | {...} | semmle.label | successor |
|
|
| cflow.cs:130:5:132:5 | {...} | cflow.cs:131:9:131:18 | ...; | semmle.label | successor |
|
|
| cflow.cs:131:9:131:13 | this access | cflow.cs:131:17:131:17 | access to parameter s | semmle.label | successor |
|
|
| cflow.cs:131:9:131:17 | ... = ... | cflow.cs:129:5:129:15 | exit ControlFlow | semmle.label | successor |
|
|
| cflow.cs:131:9:131:18 | ...; | cflow.cs:131:9:131:13 | this access | semmle.label | successor |
|
|
| cflow.cs:131:17:131:17 | access to parameter s | cflow.cs:131:9:131:17 | ... = ... | semmle.label | successor |
|
|
| cflow.cs:134:5:134:15 | enter ControlFlow | cflow.cs:134:31:134:31 | access to parameter i | semmle.label | successor |
|
|
| cflow.cs:134:26:134:29 | call to constructor ControlFlow | cflow.cs:134:39:134:41 | {...} | semmle.label | successor |
|
|
| cflow.cs:134:31:134:31 | (...) ... | cflow.cs:134:35:134:36 | "" | semmle.label | successor |
|
|
| cflow.cs:134:31:134:31 | access to parameter i | cflow.cs:134:31:134:31 | (...) ... | semmle.label | successor |
|
|
| cflow.cs:134:31:134:36 | ... + ... | cflow.cs:134:26:134:29 | call to constructor ControlFlow | semmle.label | successor |
|
|
| cflow.cs:134:35:134:36 | "" | cflow.cs:134:31:134:36 | ... + ... | semmle.label | successor |
|
|
| cflow.cs:134:39:134:41 | {...} | cflow.cs:134:5:134:15 | exit ControlFlow | semmle.label | successor |
|
|
| cflow.cs:136:12:136:22 | enter ControlFlow | cflow.cs:136:33:136:33 | 0 | semmle.label | successor |
|
|
| cflow.cs:136:28:136:31 | call to constructor ControlFlow | cflow.cs:136:40:136:42 | {...} | semmle.label | successor |
|
|
| cflow.cs:136:33:136:33 | 0 | cflow.cs:136:37:136:37 | 1 | semmle.label | successor |
|
|
| cflow.cs:136:33:136:37 | ... + ... | cflow.cs:136:28:136:31 | call to constructor ControlFlow | semmle.label | successor |
|
|
| cflow.cs:136:37:136:37 | 1 | cflow.cs:136:33:136:37 | ... + ... | semmle.label | successor |
|
|
| cflow.cs:136:40:136:42 | {...} | cflow.cs:136:12:136:22 | exit ControlFlow | semmle.label | successor |
|
|
| cflow.cs:138:40:138:40 | enter + | cflow.cs:139:5:142:5 | {...} | semmle.label | successor |
|
|
| cflow.cs:139:5:142:5 | {...} | cflow.cs:140:9:140:29 | ...; | semmle.label | successor |
|
|
| cflow.cs:140:9:140:28 | call to method WriteLine | cflow.cs:141:16:141:16 | access to parameter y | semmle.label | successor |
|
|
| cflow.cs:140:9:140:29 | ...; | cflow.cs:140:27:140:27 | access to parameter x | semmle.label | successor |
|
|
| cflow.cs:140:27:140:27 | access to parameter x | cflow.cs:140:9:140:28 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:141:9:141:17 | return ...; | cflow.cs:138:40:138:40 | exit + | semmle.label | return |
|
|
| cflow.cs:141:16:141:16 | access to parameter y | cflow.cs:141:9:141:17 | return ...; | semmle.label | successor |
|
|
| cflow.cs:144:33:144:35 | enter get_Item | cflow.cs:144:37:144:54 | {...} | semmle.label | successor |
|
|
| cflow.cs:144:37:144:54 | {...} | cflow.cs:144:46:144:46 | access to parameter i | semmle.label | successor |
|
|
| cflow.cs:144:39:144:52 | return ...; | cflow.cs:144:33:144:35 | exit get_Item | semmle.label | return |
|
|
| cflow.cs:144:46:144:46 | (...) ... | cflow.cs:144:50:144:51 | "" | semmle.label | successor |
|
|
| cflow.cs:144:46:144:46 | access to parameter i | cflow.cs:144:46:144:46 | (...) ... | semmle.label | successor |
|
|
| cflow.cs:144:46:144:51 | ... + ... | cflow.cs:144:39:144:52 | return ...; | semmle.label | successor |
|
|
| cflow.cs:144:50:144:51 | "" | cflow.cs:144:46:144:51 | ... + ... | semmle.label | successor |
|
|
| cflow.cs:144:56:144:58 | enter set_Item | cflow.cs:144:60:144:62 | {...} | semmle.label | successor |
|
|
| cflow.cs:144:60:144:62 | {...} | cflow.cs:144:56:144:58 | exit set_Item | semmle.label | successor |
|
|
| cflow.cs:146:10:146:19 | enter TryFinally | cflow.cs:147:5:255:5 | {...} | semmle.label | successor |
|
|
| cflow.cs:147:5:255:5 | {...} | cflow.cs:148:9:155:9 | try {...} ... | semmle.label | successor |
|
|
| cflow.cs:148:9:155:9 | try {...} ... | cflow.cs:149:9:151:9 | {...} | semmle.label | successor |
|
|
| cflow.cs:149:9:151:9 | {...} | cflow.cs:150:13:150:38 | ...; | semmle.label | successor |
|
|
| cflow.cs:150:13:150:37 | call to method WriteLine | cflow.cs:153:9:155:9 | [finally: exception(Exception)] {...} | semmle.label | exception(Exception) |
|
|
| cflow.cs:150:13:150:37 | call to method WriteLine | cflow.cs:153:9:155:9 | {...} | semmle.label | successor |
|
|
| cflow.cs:150:13:150:38 | ...; | cflow.cs:150:31:150:36 | "Try1" | semmle.label | successor |
|
|
| cflow.cs:150:31:150:36 | "Try1" | cflow.cs:150:13:150:37 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:150:31:150:36 | "Try1" | cflow.cs:153:9:155:9 | [finally: exception(OutOfMemoryException)] {...} | semmle.label | exception(OutOfMemoryException) |
|
|
| cflow.cs:153:9:155:9 | [finally: exception(Exception)] {...} | cflow.cs:154:13:154:41 | [finally: exception(Exception)] ...; | semmle.label | successor |
|
|
| cflow.cs:153:9:155:9 | [finally: exception(OutOfMemoryException)] {...} | cflow.cs:154:13:154:41 | [finally: exception(OutOfMemoryException)] ...; | semmle.label | successor |
|
|
| cflow.cs:153:9:155:9 | {...} | cflow.cs:154:13:154:41 | ...; | semmle.label | successor |
|
|
| cflow.cs:154:13:154:40 | [finally: exception(Exception)] call to method WriteLine | cflow.cs:146:10:146:19 | exit TryFinally | semmle.label | exception(Exception) |
|
|
| cflow.cs:154:13:154:40 | [finally: exception(OutOfMemoryException)] call to method WriteLine | cflow.cs:146:10:146:19 | exit TryFinally | semmle.label | exception(OutOfMemoryException) |
|
|
| cflow.cs:154:13:154:40 | call to method WriteLine | cflow.cs:157:9:187:9 | try {...} ... | semmle.label | successor |
|
|
| cflow.cs:154:13:154:41 | ...; | cflow.cs:154:31:154:39 | "Finally" | semmle.label | successor |
|
|
| cflow.cs:154:13:154:41 | [finally: exception(Exception)] ...; | cflow.cs:154:31:154:39 | [finally: exception(Exception)] "Finally" | semmle.label | successor |
|
|
| cflow.cs:154:13:154:41 | [finally: exception(OutOfMemoryException)] ...; | cflow.cs:154:31:154:39 | [finally: exception(OutOfMemoryException)] "Finally" | semmle.label | successor |
|
|
| cflow.cs:154:31:154:39 | "Finally" | cflow.cs:154:13:154:40 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:154:31:154:39 | [finally: exception(Exception)] "Finally" | cflow.cs:154:13:154:40 | [finally: exception(Exception)] call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:154:31:154:39 | [finally: exception(OutOfMemoryException)] "Finally" | cflow.cs:154:13:154:40 | [finally: exception(OutOfMemoryException)] call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:157:9:187:9 | try {...} ... | cflow.cs:158:9:161:9 | {...} | semmle.label | successor |
|
|
| cflow.cs:158:9:161:9 | {...} | cflow.cs:159:13:159:38 | ...; | semmle.label | successor |
|
|
| cflow.cs:159:13:159:37 | call to method WriteLine | cflow.cs:160:13:160:19 | return ...; | semmle.label | successor |
|
|
| cflow.cs:159:13:159:37 | call to method WriteLine | cflow.cs:162:9:165:9 | [exception: Exception] catch (...) {...} | semmle.label | exception(Exception) |
|
|
| cflow.cs:159:13:159:38 | ...; | cflow.cs:159:31:159:36 | "Try2" | semmle.label | successor |
|
|
| cflow.cs:159:31:159:36 | "Try2" | cflow.cs:159:13:159:37 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:159:31:159:36 | "Try2" | cflow.cs:162:9:165:9 | [exception: OutOfMemoryException] catch (...) {...} | semmle.label | exception(OutOfMemoryException) |
|
|
| cflow.cs:160:13:160:19 | return ...; | cflow.cs:185:9:187:9 | [finally: return] {...} | semmle.label | return |
|
|
| cflow.cs:162:9:165:9 | [exception: Exception] catch (...) {...} | cflow.cs:162:38:162:39 | [exception: Exception] IOException ex | semmle.label | match |
|
|
| cflow.cs:162:9:165:9 | [exception: Exception] catch (...) {...} | cflow.cs:166:9:176:9 | [exception: Exception] catch (...) {...} | semmle.label | no-match |
|
|
| cflow.cs:162:9:165:9 | [exception: OutOfMemoryException] catch (...) {...} | cflow.cs:166:9:176:9 | [exception: OutOfMemoryException] catch (...) {...} | semmle.label | no-match |
|
|
| cflow.cs:162:38:162:39 | [exception: Exception] IOException ex | cflow.cs:162:48:162:51 | [exception: Exception] true | semmle.label | successor |
|
|
| cflow.cs:162:48:162:51 | [exception: Exception] true | cflow.cs:163:9:165:9 | {...} | semmle.label | true |
|
|
| cflow.cs:163:9:165:9 | {...} | cflow.cs:164:13:164:18 | throw ...; | semmle.label | successor |
|
|
| cflow.cs:164:13:164:18 | throw ...; | cflow.cs:185:9:187:9 | [finally: exception(IOException)] {...} | semmle.label | exception(IOException) |
|
|
| cflow.cs:166:9:176:9 | [exception: Exception] catch (...) {...} | cflow.cs:166:41:166:42 | [exception: Exception] ArgumentException ex | semmle.label | match |
|
|
| cflow.cs:166:9:176:9 | [exception: Exception] catch (...) {...} | cflow.cs:177:9:179:9 | [exception: Exception] catch (...) {...} | semmle.label | no-match |
|
|
| cflow.cs:166:9:176:9 | [exception: OutOfMemoryException] catch (...) {...} | cflow.cs:177:9:179:9 | [exception: OutOfMemoryException] catch (...) {...} | semmle.label | no-match |
|
|
| cflow.cs:166:41:166:42 | [exception: Exception] ArgumentException ex | cflow.cs:167:9:176:9 | {...} | semmle.label | successor |
|
|
| cflow.cs:167:9:176:9 | {...} | cflow.cs:168:13:175:13 | try {...} ... | semmle.label | successor |
|
|
| cflow.cs:168:13:175:13 | try {...} ... | cflow.cs:169:13:171:13 | {...} | semmle.label | successor |
|
|
| cflow.cs:169:13:171:13 | {...} | cflow.cs:170:17:170:32 | if (...) ... | semmle.label | successor |
|
|
| cflow.cs:170:17:170:32 | if (...) ... | cflow.cs:170:21:170:24 | true | semmle.label | successor |
|
|
| cflow.cs:170:21:170:24 | true | cflow.cs:170:27:170:32 | throw ...; | semmle.label | true |
|
|
| cflow.cs:170:27:170:32 | throw ...; | cflow.cs:173:13:175:13 | [finally: exception(ArgumentException)] {...} | semmle.label | exception(ArgumentException) |
|
|
| cflow.cs:173:13:175:13 | [finally: exception(ArgumentException)] {...} | cflow.cs:174:37:174:42 | [finally: exception(ArgumentException)] "Boo!" | semmle.label | successor |
|
|
| cflow.cs:174:17:174:44 | [finally: exception(ArgumentException)] throw ...; | cflow.cs:185:9:187:9 | [finally: exception(Exception)] {...} | semmle.label | exception(Exception) |
|
|
| cflow.cs:174:23:174:43 | [finally: exception(ArgumentException)] object creation of type Exception | cflow.cs:174:17:174:44 | [finally: exception(ArgumentException)] throw ...; | semmle.label | successor |
|
|
| cflow.cs:174:37:174:42 | [finally: exception(ArgumentException)] "Boo!" | cflow.cs:174:23:174:43 | [finally: exception(ArgumentException)] object creation of type Exception | semmle.label | successor |
|
|
| cflow.cs:177:9:179:9 | [exception: Exception] catch (...) {...} | cflow.cs:178:9:179:9 | {...} | semmle.label | match |
|
|
| cflow.cs:177:9:179:9 | [exception: OutOfMemoryException] catch (...) {...} | cflow.cs:178:9:179:9 | {...} | semmle.label | match |
|
|
| cflow.cs:178:9:179:9 | {...} | cflow.cs:185:9:187:9 | {...} | semmle.label | successor |
|
|
| cflow.cs:185:9:187:9 | [finally: exception(Exception)] {...} | cflow.cs:186:13:186:41 | [finally: exception(Exception)] ...; | semmle.label | successor |
|
|
| cflow.cs:185:9:187:9 | [finally: exception(IOException)] {...} | cflow.cs:186:13:186:41 | [finally: exception(IOException)] ...; | semmle.label | successor |
|
|
| cflow.cs:185:9:187:9 | [finally: return] {...} | cflow.cs:186:13:186:41 | [finally: return] ...; | semmle.label | successor |
|
|
| cflow.cs:185:9:187:9 | {...} | cflow.cs:186:13:186:41 | ...; | semmle.label | successor |
|
|
| cflow.cs:186:13:186:40 | [finally: exception(Exception)] call to method WriteLine | cflow.cs:146:10:146:19 | exit TryFinally | semmle.label | exception(Exception) |
|
|
| cflow.cs:186:13:186:40 | [finally: exception(IOException)] call to method WriteLine | cflow.cs:146:10:146:19 | exit TryFinally | semmle.label | exception(IOException) |
|
|
| cflow.cs:186:13:186:40 | [finally: return] call to method WriteLine | cflow.cs:146:10:146:19 | exit TryFinally | semmle.label | return |
|
|
| cflow.cs:186:13:186:40 | call to method WriteLine | cflow.cs:189:9:204:9 | try {...} ... | semmle.label | successor |
|
|
| cflow.cs:186:13:186:41 | ...; | cflow.cs:186:31:186:39 | "Finally" | semmle.label | successor |
|
|
| cflow.cs:186:13:186:41 | [finally: exception(Exception)] ...; | cflow.cs:186:31:186:39 | [finally: exception(Exception)] "Finally" | semmle.label | successor |
|
|
| cflow.cs:186:13:186:41 | [finally: exception(IOException)] ...; | cflow.cs:186:31:186:39 | [finally: exception(IOException)] "Finally" | semmle.label | successor |
|
|
| cflow.cs:186:13:186:41 | [finally: return] ...; | cflow.cs:186:31:186:39 | [finally: return] "Finally" | semmle.label | successor |
|
|
| cflow.cs:186:31:186:39 | "Finally" | cflow.cs:186:13:186:40 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:186:31:186:39 | [finally: exception(Exception)] "Finally" | cflow.cs:186:13:186:40 | [finally: exception(Exception)] call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:186:31:186:39 | [finally: exception(IOException)] "Finally" | cflow.cs:186:13:186:40 | [finally: exception(IOException)] call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:186:31:186:39 | [finally: return] "Finally" | cflow.cs:186:13:186:40 | [finally: return] call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:189:9:204:9 | try {...} ... | cflow.cs:190:9:193:9 | {...} | semmle.label | successor |
|
|
| cflow.cs:190:9:193:9 | {...} | cflow.cs:191:13:191:38 | ...; | semmle.label | successor |
|
|
| cflow.cs:191:13:191:37 | call to method WriteLine | cflow.cs:192:13:192:19 | return ...; | semmle.label | successor |
|
|
| cflow.cs:191:13:191:37 | call to method WriteLine | cflow.cs:194:9:197:9 | [exception: Exception] catch (...) {...} | semmle.label | exception(Exception) |
|
|
| cflow.cs:191:13:191:38 | ...; | cflow.cs:191:31:191:36 | "Try3" | semmle.label | successor |
|
|
| cflow.cs:191:31:191:36 | "Try3" | cflow.cs:191:13:191:37 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:191:31:191:36 | "Try3" | cflow.cs:194:9:197:9 | [exception: OutOfMemoryException] catch (...) {...} | semmle.label | exception(OutOfMemoryException) |
|
|
| cflow.cs:192:13:192:19 | return ...; | cflow.cs:202:9:204:9 | [finally: return] {...} | semmle.label | return |
|
|
| cflow.cs:194:9:197:9 | [exception: Exception] catch (...) {...} | cflow.cs:194:38:194:39 | [exception: Exception] IOException ex | semmle.label | match |
|
|
| cflow.cs:194:9:197:9 | [exception: Exception] catch (...) {...} | cflow.cs:198:9:200:9 | [exception: Exception] catch (...) {...} | semmle.label | no-match |
|
|
| cflow.cs:194:9:197:9 | [exception: OutOfMemoryException] catch (...) {...} | cflow.cs:198:9:200:9 | [exception: OutOfMemoryException] catch (...) {...} | semmle.label | no-match |
|
|
| cflow.cs:194:38:194:39 | [exception: Exception] IOException ex | cflow.cs:194:48:194:51 | [exception: Exception] true | semmle.label | successor |
|
|
| cflow.cs:194:48:194:51 | [exception: Exception] true | cflow.cs:195:9:197:9 | {...} | semmle.label | true |
|
|
| cflow.cs:195:9:197:9 | {...} | cflow.cs:196:13:196:18 | throw ...; | semmle.label | successor |
|
|
| cflow.cs:196:13:196:18 | throw ...; | cflow.cs:202:9:204:9 | [finally: exception(IOException)] {...} | semmle.label | exception(IOException) |
|
|
| cflow.cs:198:9:200:9 | [exception: Exception] catch (...) {...} | cflow.cs:198:26:198:26 | [exception: Exception] Exception e | semmle.label | match |
|
|
| cflow.cs:198:9:200:9 | [exception: OutOfMemoryException] catch (...) {...} | cflow.cs:198:26:198:26 | [exception: OutOfMemoryException] Exception e | semmle.label | match |
|
|
| cflow.cs:198:26:198:26 | [exception: Exception] Exception e | cflow.cs:198:35:198:35 | [exception: Exception] access to local variable e | semmle.label | successor |
|
|
| cflow.cs:198:26:198:26 | [exception: OutOfMemoryException] Exception e | cflow.cs:198:35:198:35 | [exception: OutOfMemoryException] access to local variable e | semmle.label | successor |
|
|
| cflow.cs:198:35:198:35 | [exception: Exception] access to local variable e | cflow.cs:198:35:198:43 | [exception: Exception] access to property Message | semmle.label | successor |
|
|
| cflow.cs:198:35:198:35 | [exception: OutOfMemoryException] access to local variable e | cflow.cs:198:35:198:43 | [exception: OutOfMemoryException] access to property Message | semmle.label | successor |
|
|
| cflow.cs:198:35:198:43 | [exception: Exception] access to property Message | cflow.cs:198:48:198:51 | [exception: Exception] null | semmle.label | successor |
|
|
| cflow.cs:198:35:198:43 | [exception: OutOfMemoryException] access to property Message | cflow.cs:198:48:198:51 | [exception: OutOfMemoryException] null | semmle.label | successor |
|
|
| cflow.cs:198:35:198:51 | [exception: Exception] ... != ... | cflow.cs:199:9:200:9 | {...} | semmle.label | true |
|
|
| cflow.cs:198:35:198:51 | [exception: Exception] ... != ... | cflow.cs:202:9:204:9 | [finally: exception(Exception)] {...} | semmle.label | exception(Exception) |
|
|
| cflow.cs:198:35:198:51 | [exception: OutOfMemoryException] ... != ... | cflow.cs:199:9:200:9 | {...} | semmle.label | true |
|
|
| cflow.cs:198:35:198:51 | [exception: OutOfMemoryException] ... != ... | cflow.cs:202:9:204:9 | [finally: exception(OutOfMemoryException)] {...} | semmle.label | exception(OutOfMemoryException) |
|
|
| cflow.cs:198:48:198:51 | [exception: Exception] null | cflow.cs:198:35:198:51 | [exception: Exception] ... != ... | semmle.label | successor |
|
|
| cflow.cs:198:48:198:51 | [exception: OutOfMemoryException] null | cflow.cs:198:35:198:51 | [exception: OutOfMemoryException] ... != ... | semmle.label | successor |
|
|
| cflow.cs:199:9:200:9 | {...} | cflow.cs:202:9:204:9 | {...} | semmle.label | successor |
|
|
| cflow.cs:202:9:204:9 | [finally: exception(Exception)] {...} | cflow.cs:203:13:203:41 | [finally: exception(Exception)] ...; | semmle.label | successor |
|
|
| cflow.cs:202:9:204:9 | [finally: exception(IOException)] {...} | cflow.cs:203:13:203:41 | [finally: exception(IOException)] ...; | semmle.label | successor |
|
|
| cflow.cs:202:9:204:9 | [finally: exception(OutOfMemoryException)] {...} | cflow.cs:203:13:203:41 | [finally: exception(OutOfMemoryException)] ...; | semmle.label | successor |
|
|
| cflow.cs:202:9:204:9 | [finally: return] {...} | cflow.cs:203:13:203:41 | [finally: return] ...; | semmle.label | successor |
|
|
| cflow.cs:202:9:204:9 | {...} | cflow.cs:203:13:203:41 | ...; | semmle.label | successor |
|
|
| cflow.cs:203:13:203:40 | [finally: exception(Exception)] call to method WriteLine | cflow.cs:146:10:146:19 | exit TryFinally | semmle.label | exception(Exception) |
|
|
| cflow.cs:203:13:203:40 | [finally: exception(IOException)] call to method WriteLine | cflow.cs:146:10:146:19 | exit TryFinally | semmle.label | exception(IOException) |
|
|
| cflow.cs:203:13:203:40 | [finally: exception(OutOfMemoryException)] call to method WriteLine | cflow.cs:146:10:146:19 | exit TryFinally | semmle.label | exception(OutOfMemoryException) |
|
|
| cflow.cs:203:13:203:40 | [finally: return] call to method WriteLine | cflow.cs:146:10:146:19 | exit TryFinally | semmle.label | return |
|
|
| cflow.cs:203:13:203:40 | call to method WriteLine | cflow.cs:206:9:206:19 | ... ...; | semmle.label | successor |
|
|
| cflow.cs:203:13:203:41 | ...; | cflow.cs:203:31:203:39 | "Finally" | semmle.label | successor |
|
|
| cflow.cs:203:13:203:41 | [finally: exception(Exception)] ...; | cflow.cs:203:31:203:39 | [finally: exception(Exception)] "Finally" | semmle.label | successor |
|
|
| cflow.cs:203:13:203:41 | [finally: exception(IOException)] ...; | cflow.cs:203:31:203:39 | [finally: exception(IOException)] "Finally" | semmle.label | successor |
|
|
| cflow.cs:203:13:203:41 | [finally: exception(OutOfMemoryException)] ...; | cflow.cs:203:31:203:39 | [finally: exception(OutOfMemoryException)] "Finally" | semmle.label | successor |
|
|
| cflow.cs:203:13:203:41 | [finally: return] ...; | cflow.cs:203:31:203:39 | [finally: return] "Finally" | semmle.label | successor |
|
|
| cflow.cs:203:31:203:39 | "Finally" | cflow.cs:203:13:203:40 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:203:31:203:39 | [finally: exception(Exception)] "Finally" | cflow.cs:203:13:203:40 | [finally: exception(Exception)] call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:203:31:203:39 | [finally: exception(IOException)] "Finally" | cflow.cs:203:13:203:40 | [finally: exception(IOException)] call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:203:31:203:39 | [finally: exception(OutOfMemoryException)] "Finally" | cflow.cs:203:13:203:40 | [finally: exception(OutOfMemoryException)] call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:203:31:203:39 | [finally: return] "Finally" | cflow.cs:203:13:203:40 | [finally: return] call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:206:9:206:19 | ... ...; | cflow.cs:206:17:206:18 | 10 | semmle.label | successor |
|
|
| cflow.cs:206:13:206:18 | Int32 i = ... | cflow.cs:207:9:230:9 | while (...) ... | semmle.label | successor |
|
|
| cflow.cs:206:17:206:18 | 10 | cflow.cs:206:13:206:18 | Int32 i = ... | semmle.label | successor |
|
|
| cflow.cs:207:9:230:9 | while (...) ... | cflow.cs:207:16:207:16 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:207:16:207:16 | access to local variable i | cflow.cs:207:20:207:20 | 0 | semmle.label | successor |
|
|
| cflow.cs:207:16:207:20 | ... > ... | cflow.cs:208:9:230:9 | {...} | semmle.label | true |
|
|
| cflow.cs:207:16:207:20 | ... > ... | cflow.cs:232:9:245:9 | try {...} ... | semmle.label | false |
|
|
| cflow.cs:207:20:207:20 | 0 | cflow.cs:207:16:207:20 | ... > ... | semmle.label | successor |
|
|
| cflow.cs:208:9:230:9 | {...} | cflow.cs:209:13:229:13 | try {...} ... | semmle.label | successor |
|
|
| cflow.cs:209:13:229:13 | try {...} ... | cflow.cs:210:13:217:13 | {...} | semmle.label | successor |
|
|
| cflow.cs:210:13:217:13 | {...} | cflow.cs:211:17:212:27 | if (...) ... | semmle.label | successor |
|
|
| cflow.cs:211:17:212:27 | if (...) ... | cflow.cs:211:21:211:21 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:211:21:211:21 | access to local variable i | cflow.cs:211:26:211:26 | 0 | semmle.label | successor |
|
|
| cflow.cs:211:21:211:26 | ... == ... | cflow.cs:212:21:212:27 | return ...; | semmle.label | true |
|
|
| cflow.cs:211:21:211:26 | ... == ... | cflow.cs:213:17:214:29 | if (...) ... | semmle.label | false |
|
|
| cflow.cs:211:26:211:26 | 0 | cflow.cs:211:21:211:26 | ... == ... | semmle.label | successor |
|
|
| cflow.cs:212:21:212:27 | return ...; | cflow.cs:219:13:229:13 | [finally: return] {...} | semmle.label | return |
|
|
| cflow.cs:213:17:214:29 | if (...) ... | cflow.cs:213:21:213:21 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:213:21:213:21 | access to local variable i | cflow.cs:213:26:213:26 | 1 | semmle.label | successor |
|
|
| cflow.cs:213:21:213:26 | ... == ... | cflow.cs:214:21:214:29 | continue; | semmle.label | true |
|
|
| cflow.cs:213:21:213:26 | ... == ... | cflow.cs:215:17:216:26 | if (...) ... | semmle.label | false |
|
|
| cflow.cs:213:26:213:26 | 1 | cflow.cs:213:21:213:26 | ... == ... | semmle.label | successor |
|
|
| cflow.cs:214:21:214:29 | continue; | cflow.cs:219:13:229:13 | [finally: continue] {...} | semmle.label | continue |
|
|
| cflow.cs:215:17:216:26 | if (...) ... | cflow.cs:215:21:215:21 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:215:21:215:21 | access to local variable i | cflow.cs:215:26:215:26 | 2 | semmle.label | successor |
|
|
| cflow.cs:215:21:215:26 | ... == ... | cflow.cs:216:21:216:26 | break; | semmle.label | true |
|
|
| cflow.cs:215:21:215:26 | ... == ... | cflow.cs:219:13:229:13 | {...} | semmle.label | false |
|
|
| cflow.cs:215:26:215:26 | 2 | cflow.cs:215:21:215:26 | ... == ... | semmle.label | successor |
|
|
| cflow.cs:216:21:216:26 | break; | cflow.cs:219:13:229:13 | [finally: break] {...} | semmle.label | break |
|
|
| cflow.cs:219:13:229:13 | [finally: break] {...} | cflow.cs:220:17:228:17 | [finally: break] try {...} ... | semmle.label | successor |
|
|
| cflow.cs:219:13:229:13 | [finally: continue] {...} | cflow.cs:220:17:228:17 | [finally: continue] try {...} ... | semmle.label | successor |
|
|
| cflow.cs:219:13:229:13 | [finally: return] {...} | cflow.cs:220:17:228:17 | [finally: return] try {...} ... | semmle.label | successor |
|
|
| cflow.cs:219:13:229:13 | {...} | cflow.cs:220:17:228:17 | try {...} ... | semmle.label | successor |
|
|
| cflow.cs:220:17:228:17 | [finally: break] try {...} ... | cflow.cs:221:17:224:17 | [finally: break] {...} | semmle.label | successor |
|
|
| cflow.cs:220:17:228:17 | [finally: continue] try {...} ... | cflow.cs:221:17:224:17 | [finally: continue] {...} | semmle.label | successor |
|
|
| cflow.cs:220:17:228:17 | [finally: return] try {...} ... | cflow.cs:221:17:224:17 | [finally: return] {...} | semmle.label | successor |
|
|
| cflow.cs:220:17:228:17 | try {...} ... | cflow.cs:221:17:224:17 | {...} | semmle.label | successor |
|
|
| cflow.cs:221:17:224:17 | [finally: break] {...} | cflow.cs:222:21:223:46 | [finally: break] if (...) ... | semmle.label | successor |
|
|
| cflow.cs:221:17:224:17 | [finally: continue] {...} | cflow.cs:222:21:223:46 | [finally: continue] if (...) ... | semmle.label | successor |
|
|
| cflow.cs:221:17:224:17 | [finally: return] {...} | cflow.cs:222:21:223:46 | [finally: return] if (...) ... | semmle.label | successor |
|
|
| cflow.cs:221:17:224:17 | {...} | cflow.cs:222:21:223:46 | if (...) ... | semmle.label | successor |
|
|
| cflow.cs:222:21:223:46 | [finally: break] if (...) ... | cflow.cs:222:25:222:25 | [finally: break] access to local variable i | semmle.label | successor |
|
|
| cflow.cs:222:21:223:46 | [finally: continue] if (...) ... | cflow.cs:222:25:222:25 | [finally: continue] access to local variable i | semmle.label | successor |
|
|
| cflow.cs:222:21:223:46 | [finally: return] if (...) ... | cflow.cs:222:25:222:25 | [finally: return] access to local variable i | semmle.label | successor |
|
|
| cflow.cs:222:21:223:46 | if (...) ... | cflow.cs:222:25:222:25 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:222:25:222:25 | [finally: break] access to local variable i | cflow.cs:222:30:222:30 | [finally: break] 3 | semmle.label | successor |
|
|
| cflow.cs:222:25:222:25 | [finally: continue] access to local variable i | cflow.cs:222:30:222:30 | [finally: continue] 3 | semmle.label | successor |
|
|
| cflow.cs:222:25:222:25 | [finally: return] access to local variable i | cflow.cs:222:30:222:30 | [finally: return] 3 | semmle.label | successor |
|
|
| cflow.cs:222:25:222:25 | access to local variable i | cflow.cs:222:30:222:30 | 3 | semmle.label | successor |
|
|
| cflow.cs:222:25:222:30 | ... == ... | cflow.cs:223:31:223:45 | object creation of type Exception | semmle.label | true |
|
|
| cflow.cs:222:25:222:30 | ... == ... | cflow.cs:226:17:228:17 | {...} | semmle.label | false |
|
|
| cflow.cs:222:25:222:30 | [finally: break] ... == ... | cflow.cs:223:31:223:45 | [finally: break] object creation of type Exception | semmle.label | true |
|
|
| cflow.cs:222:25:222:30 | [finally: break] ... == ... | cflow.cs:226:17:228:17 | [finally: break] {...} | semmle.label | false |
|
|
| cflow.cs:222:25:222:30 | [finally: continue] ... == ... | cflow.cs:223:31:223:45 | [finally: continue] object creation of type Exception | semmle.label | true |
|
|
| cflow.cs:222:25:222:30 | [finally: continue] ... == ... | cflow.cs:226:17:228:17 | [finally: continue] {...} | semmle.label | false |
|
|
| cflow.cs:222:25:222:30 | [finally: return] ... == ... | cflow.cs:223:31:223:45 | [finally: return] object creation of type Exception | semmle.label | true |
|
|
| cflow.cs:222:25:222:30 | [finally: return] ... == ... | cflow.cs:226:17:228:17 | [finally: return] {...} | semmle.label | false |
|
|
| cflow.cs:222:30:222:30 | 3 | cflow.cs:222:25:222:30 | ... == ... | semmle.label | successor |
|
|
| cflow.cs:222:30:222:30 | [finally: break] 3 | cflow.cs:222:25:222:30 | [finally: break] ... == ... | semmle.label | successor |
|
|
| cflow.cs:222:30:222:30 | [finally: continue] 3 | cflow.cs:222:25:222:30 | [finally: continue] ... == ... | semmle.label | successor |
|
|
| cflow.cs:222:30:222:30 | [finally: return] 3 | cflow.cs:222:25:222:30 | [finally: return] ... == ... | semmle.label | successor |
|
|
| cflow.cs:223:25:223:46 | [finally: break] throw ...; | cflow.cs:226:17:228:17 | [finally: exception(Exception)] {...} | semmle.label | exception(Exception) |
|
|
| cflow.cs:223:25:223:46 | [finally: continue] throw ...; | cflow.cs:226:17:228:17 | [finally: exception(Exception)] {...} | semmle.label | exception(Exception) |
|
|
| cflow.cs:223:25:223:46 | [finally: return] throw ...; | cflow.cs:226:17:228:17 | [finally: exception(Exception)] {...} | semmle.label | exception(Exception) |
|
|
| cflow.cs:223:25:223:46 | throw ...; | cflow.cs:226:17:228:17 | [finally: exception(Exception)] {...} | semmle.label | exception(Exception) |
|
|
| cflow.cs:223:31:223:45 | [finally: break] object creation of type Exception | cflow.cs:223:25:223:46 | [finally: break] throw ...; | semmle.label | successor |
|
|
| cflow.cs:223:31:223:45 | [finally: break] object creation of type Exception | cflow.cs:226:17:228:17 | [finally: exception(Exception)] {...} | semmle.label | exception(Exception) |
|
|
| cflow.cs:223:31:223:45 | [finally: continue] object creation of type Exception | cflow.cs:223:25:223:46 | [finally: continue] throw ...; | semmle.label | successor |
|
|
| cflow.cs:223:31:223:45 | [finally: continue] object creation of type Exception | cflow.cs:226:17:228:17 | [finally: exception(Exception)] {...} | semmle.label | exception(Exception) |
|
|
| cflow.cs:223:31:223:45 | [finally: return] object creation of type Exception | cflow.cs:223:25:223:46 | [finally: return] throw ...; | semmle.label | successor |
|
|
| cflow.cs:223:31:223:45 | [finally: return] object creation of type Exception | cflow.cs:226:17:228:17 | [finally: exception(Exception)] {...} | semmle.label | exception(Exception) |
|
|
| cflow.cs:223:31:223:45 | object creation of type Exception | cflow.cs:223:25:223:46 | throw ...; | semmle.label | successor |
|
|
| cflow.cs:223:31:223:45 | object creation of type Exception | cflow.cs:226:17:228:17 | [finally: exception(Exception)] {...} | semmle.label | exception(Exception) |
|
|
| cflow.cs:226:17:228:17 | [finally: break] {...} | cflow.cs:227:21:227:24 | [finally: break] ...; | semmle.label | successor |
|
|
| cflow.cs:226:17:228:17 | [finally: continue] {...} | cflow.cs:227:21:227:24 | [finally: continue] ...; | semmle.label | successor |
|
|
| cflow.cs:226:17:228:17 | [finally: exception(Exception)] {...} | cflow.cs:227:21:227:24 | [finally: exception(Exception)] ...; | semmle.label | successor |
|
|
| cflow.cs:226:17:228:17 | [finally: return] {...} | cflow.cs:227:21:227:24 | [finally: return] ...; | semmle.label | successor |
|
|
| cflow.cs:226:17:228:17 | {...} | cflow.cs:227:21:227:24 | ...; | semmle.label | successor |
|
|
| cflow.cs:227:21:227:21 | [finally: break] access to local variable i | cflow.cs:227:21:227:23 | [finally: break] ...-- | semmle.label | successor |
|
|
| cflow.cs:227:21:227:21 | [finally: continue] access to local variable i | cflow.cs:227:21:227:23 | [finally: continue] ...-- | semmle.label | successor |
|
|
| cflow.cs:227:21:227:21 | [finally: exception(Exception)] access to local variable i | cflow.cs:227:21:227:23 | [finally: exception(Exception)] ...-- | semmle.label | successor |
|
|
| cflow.cs:227:21:227:21 | [finally: return] access to local variable i | cflow.cs:227:21:227:23 | [finally: return] ...-- | semmle.label | successor |
|
|
| cflow.cs:227:21:227:21 | access to local variable i | cflow.cs:227:21:227:23 | ...-- | semmle.label | successor |
|
|
| cflow.cs:227:21:227:23 | ...-- | cflow.cs:207:16:207:16 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:227:21:227:23 | [finally: break] ...-- | cflow.cs:232:9:245:9 | try {...} ... | semmle.label | break |
|
|
| cflow.cs:227:21:227:23 | [finally: continue] ...-- | cflow.cs:207:16:207:16 | access to local variable i | semmle.label | continue |
|
|
| cflow.cs:227:21:227:23 | [finally: exception(Exception)] ...-- | cflow.cs:146:10:146:19 | exit TryFinally | semmle.label | exception(Exception) |
|
|
| cflow.cs:227:21:227:23 | [finally: return] ...-- | cflow.cs:146:10:146:19 | exit TryFinally | semmle.label | return |
|
|
| cflow.cs:227:21:227:24 | ...; | cflow.cs:227:21:227:21 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:227:21:227:24 | [finally: break] ...; | cflow.cs:227:21:227:21 | [finally: break] access to local variable i | semmle.label | successor |
|
|
| cflow.cs:227:21:227:24 | [finally: continue] ...; | cflow.cs:227:21:227:21 | [finally: continue] access to local variable i | semmle.label | successor |
|
|
| cflow.cs:227:21:227:24 | [finally: exception(Exception)] ...; | cflow.cs:227:21:227:21 | [finally: exception(Exception)] access to local variable i | semmle.label | successor |
|
|
| cflow.cs:227:21:227:24 | [finally: return] ...; | cflow.cs:227:21:227:21 | [finally: return] access to local variable i | semmle.label | successor |
|
|
| cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:233:9:238:9 | {...} | semmle.label | successor |
|
|
| cflow.cs:233:9:238:9 | {...} | cflow.cs:234:13:235:23 | if (...) ... | semmle.label | successor |
|
|
| cflow.cs:234:13:235:23 | if (...) ... | cflow.cs:234:17:234:21 | this access | semmle.label | successor |
|
|
| cflow.cs:234:17:234:21 | access to field Field | cflow.cs:234:17:234:28 | access to property Length | semmle.label | successor |
|
|
| cflow.cs:234:17:234:21 | access to field Field | cflow.cs:240:9:245:9 | [finally: exception(NullReferenceException)] {...} | semmle.label | exception(NullReferenceException) |
|
|
| cflow.cs:234:17:234:21 | this access | cflow.cs:234:17:234:21 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:234:17:234:28 | access to property Length | cflow.cs:234:33:234:33 | 0 | semmle.label | successor |
|
|
| cflow.cs:234:17:234:28 | access to property Length | cflow.cs:240:9:245:9 | [finally: exception(Exception)] {...} | semmle.label | exception(Exception) |
|
|
| cflow.cs:234:17:234:28 | access to property Length | cflow.cs:240:9:245:9 | [finally: exception(NullReferenceException)] {...} | semmle.label | exception(NullReferenceException) |
|
|
| cflow.cs:234:17:234:33 | ... == ... | cflow.cs:235:17:235:23 | return ...; | semmle.label | true |
|
|
| cflow.cs:234:17:234:33 | ... == ... | cflow.cs:236:13:237:49 | if (...) ... | semmle.label | false |
|
|
| cflow.cs:234:33:234:33 | 0 | cflow.cs:234:17:234:33 | ... == ... | semmle.label | successor |
|
|
| cflow.cs:235:17:235:23 | return ...; | cflow.cs:240:9:245:9 | [finally: return] {...} | semmle.label | return |
|
|
| cflow.cs:236:13:237:49 | if (...) ... | cflow.cs:236:17:236:21 | this access | semmle.label | successor |
|
|
| cflow.cs:236:17:236:21 | access to field Field | cflow.cs:236:17:236:28 | access to property Length | semmle.label | successor |
|
|
| cflow.cs:236:17:236:21 | access to field Field | cflow.cs:240:9:245:9 | [finally: exception(NullReferenceException)] {...} | semmle.label | exception(NullReferenceException) |
|
|
| cflow.cs:236:17:236:21 | this access | cflow.cs:236:17:236:21 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:236:17:236:28 | access to property Length | cflow.cs:236:33:236:33 | 1 | semmle.label | successor |
|
|
| cflow.cs:236:17:236:28 | access to property Length | cflow.cs:240:9:245:9 | [finally: exception(Exception)] {...} | semmle.label | exception(Exception) |
|
|
| cflow.cs:236:17:236:28 | access to property Length | cflow.cs:240:9:245:9 | [finally: exception(NullReferenceException)] {...} | semmle.label | exception(NullReferenceException) |
|
|
| cflow.cs:236:17:236:33 | ... == ... | cflow.cs:237:23:237:48 | object creation of type OutOfMemoryException | semmle.label | true |
|
|
| cflow.cs:236:17:236:33 | ... == ... | cflow.cs:240:9:245:9 | {...} | semmle.label | false |
|
|
| cflow.cs:236:33:236:33 | 1 | cflow.cs:236:17:236:33 | ... == ... | semmle.label | successor |
|
|
| cflow.cs:237:17:237:49 | throw ...; | cflow.cs:240:9:245:9 | [finally: exception(OutOfMemoryException)] {...} | semmle.label | exception(OutOfMemoryException) |
|
|
| cflow.cs:237:23:237:48 | object creation of type OutOfMemoryException | cflow.cs:237:17:237:49 | throw ...; | semmle.label | successor |
|
|
| cflow.cs:237:23:237:48 | object creation of type OutOfMemoryException | cflow.cs:240:9:245:9 | [finally: exception(Exception)] {...} | semmle.label | exception(Exception) |
|
|
| cflow.cs:240:9:245:9 | [finally: exception(Exception)] {...} | cflow.cs:241:13:242:41 | [finally: exception(Exception)] if (...) ... | semmle.label | successor |
|
|
| cflow.cs:240:9:245:9 | [finally: exception(NullReferenceException)] {...} | cflow.cs:241:13:242:41 | [finally: exception(NullReferenceException)] if (...) ... | semmle.label | successor |
|
|
| cflow.cs:240:9:245:9 | [finally: exception(OutOfMemoryException)] {...} | cflow.cs:241:13:242:41 | [finally: exception(OutOfMemoryException)] if (...) ... | semmle.label | successor |
|
|
| cflow.cs:240:9:245:9 | [finally: return] {...} | cflow.cs:241:13:242:41 | [finally: return] if (...) ... | semmle.label | successor |
|
|
| cflow.cs:240:9:245:9 | {...} | cflow.cs:241:13:242:41 | if (...) ... | semmle.label | successor |
|
|
| cflow.cs:241:13:242:41 | [finally: exception(Exception)] if (...) ... | cflow.cs:241:17:241:36 | [finally: exception(Exception)] !... | semmle.label | successor |
|
|
| cflow.cs:241:13:242:41 | [finally: exception(NullReferenceException)] if (...) ... | cflow.cs:241:17:241:36 | [finally: exception(NullReferenceException)] !... | semmle.label | successor |
|
|
| cflow.cs:241:13:242:41 | [finally: exception(OutOfMemoryException)] if (...) ... | cflow.cs:241:17:241:36 | [finally: exception(OutOfMemoryException)] !... | semmle.label | successor |
|
|
| cflow.cs:241:13:242:41 | [finally: return] if (...) ... | cflow.cs:241:17:241:36 | [finally: return] !... | semmle.label | successor |
|
|
| cflow.cs:241:13:242:41 | if (...) ... | cflow.cs:241:17:241:36 | !... | semmle.label | successor |
|
|
| cflow.cs:241:17:241:36 | !... | cflow.cs:241:19:241:23 | this access | semmle.label | successor |
|
|
| cflow.cs:241:17:241:36 | [finally: exception(Exception)] !... | cflow.cs:241:19:241:23 | [finally: exception(Exception)] this access | semmle.label | successor |
|
|
| cflow.cs:241:17:241:36 | [finally: exception(NullReferenceException)] !... | cflow.cs:241:19:241:23 | [finally: exception(NullReferenceException)] this access | semmle.label | successor |
|
|
| cflow.cs:241:17:241:36 | [finally: exception(OutOfMemoryException)] !... | cflow.cs:241:19:241:23 | [finally: exception(OutOfMemoryException)] this access | semmle.label | successor |
|
|
| cflow.cs:241:17:241:36 | [finally: return] !... | cflow.cs:241:19:241:23 | [finally: return] this access | semmle.label | successor |
|
|
| cflow.cs:241:19:241:23 | [finally: exception(Exception)] access to field Field | cflow.cs:241:19:241:30 | [finally: exception(Exception)] access to property Length | semmle.label | successor |
|
|
| cflow.cs:241:19:241:23 | [finally: exception(Exception)] this access | cflow.cs:241:19:241:23 | [finally: exception(Exception)] access to field Field | semmle.label | successor |
|
|
| cflow.cs:241:19:241:23 | [finally: exception(NullReferenceException)] access to field Field | cflow.cs:241:19:241:30 | [finally: exception(NullReferenceException)] access to property Length | semmle.label | successor |
|
|
| cflow.cs:241:19:241:23 | [finally: exception(NullReferenceException)] this access | cflow.cs:241:19:241:23 | [finally: exception(NullReferenceException)] access to field Field | semmle.label | successor |
|
|
| cflow.cs:241:19:241:23 | [finally: exception(OutOfMemoryException)] access to field Field | cflow.cs:241:19:241:30 | [finally: exception(OutOfMemoryException)] access to property Length | semmle.label | successor |
|
|
| cflow.cs:241:19:241:23 | [finally: exception(OutOfMemoryException)] this access | cflow.cs:241:19:241:23 | [finally: exception(OutOfMemoryException)] access to field Field | semmle.label | successor |
|
|
| cflow.cs:241:19:241:23 | [finally: return] access to field Field | cflow.cs:241:19:241:30 | [finally: return] access to property Length | semmle.label | successor |
|
|
| cflow.cs:241:19:241:23 | [finally: return] this access | cflow.cs:241:19:241:23 | [finally: return] access to field Field | semmle.label | successor |
|
|
| cflow.cs:241:19:241:23 | access to field Field | cflow.cs:241:19:241:30 | access to property Length | semmle.label | successor |
|
|
| cflow.cs:241:19:241:23 | this access | cflow.cs:241:19:241:23 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:241:19:241:30 | [finally: exception(Exception)] access to property Length | cflow.cs:241:35:241:35 | [finally: exception(Exception)] 0 | semmle.label | successor |
|
|
| cflow.cs:241:19:241:30 | [finally: exception(NullReferenceException)] access to property Length | cflow.cs:241:35:241:35 | [finally: exception(NullReferenceException)] 0 | semmle.label | successor |
|
|
| cflow.cs:241:19:241:30 | [finally: exception(OutOfMemoryException)] access to property Length | cflow.cs:241:35:241:35 | [finally: exception(OutOfMemoryException)] 0 | semmle.label | successor |
|
|
| cflow.cs:241:19:241:30 | [finally: return] access to property Length | cflow.cs:241:35:241:35 | [finally: return] 0 | semmle.label | successor |
|
|
| cflow.cs:241:19:241:30 | access to property Length | cflow.cs:241:35:241:35 | 0 | semmle.label | successor |
|
|
| cflow.cs:241:19:241:35 | ... == ... | cflow.cs:242:17:242:41 | ...; | semmle.label | false |
|
|
| cflow.cs:241:19:241:35 | ... == ... | cflow.cs:243:13:244:37 | if (...) ... | semmle.label | true |
|
|
| cflow.cs:241:19:241:35 | [finally: exception(Exception)] ... == ... | cflow.cs:242:17:242:41 | [finally: exception(Exception)] ...; | semmle.label | false |
|
|
| cflow.cs:241:19:241:35 | [finally: exception(Exception)] ... == ... | cflow.cs:243:13:244:37 | [finally: exception(Exception)] if (...) ... | semmle.label | true |
|
|
| cflow.cs:241:19:241:35 | [finally: exception(NullReferenceException)] ... == ... | cflow.cs:242:17:242:41 | [finally: exception(NullReferenceException)] ...; | semmle.label | false |
|
|
| cflow.cs:241:19:241:35 | [finally: exception(NullReferenceException)] ... == ... | cflow.cs:243:13:244:37 | [finally: exception(NullReferenceException)] if (...) ... | semmle.label | true |
|
|
| cflow.cs:241:19:241:35 | [finally: exception(OutOfMemoryException)] ... == ... | cflow.cs:242:17:242:41 | [finally: exception(OutOfMemoryException)] ...; | semmle.label | false |
|
|
| cflow.cs:241:19:241:35 | [finally: exception(OutOfMemoryException)] ... == ... | cflow.cs:243:13:244:37 | [finally: exception(OutOfMemoryException)] if (...) ... | semmle.label | true |
|
|
| cflow.cs:241:19:241:35 | [finally: return] ... == ... | cflow.cs:242:17:242:41 | [finally: return] ...; | semmle.label | false |
|
|
| cflow.cs:241:19:241:35 | [finally: return] ... == ... | cflow.cs:243:13:244:37 | [finally: return] if (...) ... | semmle.label | true |
|
|
| cflow.cs:241:35:241:35 | 0 | cflow.cs:241:19:241:35 | ... == ... | semmle.label | successor |
|
|
| cflow.cs:241:35:241:35 | [finally: exception(Exception)] 0 | cflow.cs:241:19:241:35 | [finally: exception(Exception)] ... == ... | semmle.label | successor |
|
|
| cflow.cs:241:35:241:35 | [finally: exception(NullReferenceException)] 0 | cflow.cs:241:19:241:35 | [finally: exception(NullReferenceException)] ... == ... | semmle.label | successor |
|
|
| cflow.cs:241:35:241:35 | [finally: exception(OutOfMemoryException)] 0 | cflow.cs:241:19:241:35 | [finally: exception(OutOfMemoryException)] ... == ... | semmle.label | successor |
|
|
| cflow.cs:241:35:241:35 | [finally: return] 0 | cflow.cs:241:19:241:35 | [finally: return] ... == ... | semmle.label | successor |
|
|
| cflow.cs:242:17:242:40 | [finally: exception(Exception)] call to method WriteLine | cflow.cs:243:13:244:37 | [finally: exception(Exception)] if (...) ... | semmle.label | successor |
|
|
| cflow.cs:242:17:242:40 | [finally: exception(NullReferenceException)] call to method WriteLine | cflow.cs:243:13:244:37 | [finally: exception(NullReferenceException)] if (...) ... | semmle.label | successor |
|
|
| cflow.cs:242:17:242:40 | [finally: exception(OutOfMemoryException)] call to method WriteLine | cflow.cs:243:13:244:37 | [finally: exception(OutOfMemoryException)] if (...) ... | semmle.label | successor |
|
|
| cflow.cs:242:17:242:40 | [finally: return] call to method WriteLine | cflow.cs:243:13:244:37 | [finally: return] if (...) ... | semmle.label | successor |
|
|
| cflow.cs:242:17:242:40 | call to method WriteLine | cflow.cs:243:13:244:37 | if (...) ... | semmle.label | successor |
|
|
| cflow.cs:242:17:242:41 | ...; | cflow.cs:242:35:242:39 | this access | semmle.label | successor |
|
|
| cflow.cs:242:17:242:41 | [finally: exception(Exception)] ...; | cflow.cs:242:35:242:39 | [finally: exception(Exception)] this access | semmle.label | successor |
|
|
| cflow.cs:242:17:242:41 | [finally: exception(NullReferenceException)] ...; | cflow.cs:242:35:242:39 | [finally: exception(NullReferenceException)] this access | semmle.label | successor |
|
|
| cflow.cs:242:17:242:41 | [finally: exception(OutOfMemoryException)] ...; | cflow.cs:242:35:242:39 | [finally: exception(OutOfMemoryException)] this access | semmle.label | successor |
|
|
| cflow.cs:242:17:242:41 | [finally: return] ...; | cflow.cs:242:35:242:39 | [finally: return] this access | semmle.label | successor |
|
|
| cflow.cs:242:35:242:39 | [finally: exception(Exception)] access to field Field | cflow.cs:242:17:242:40 | [finally: exception(Exception)] call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:242:35:242:39 | [finally: exception(Exception)] this access | cflow.cs:242:35:242:39 | [finally: exception(Exception)] access to field Field | semmle.label | successor |
|
|
| cflow.cs:242:35:242:39 | [finally: exception(NullReferenceException)] access to field Field | cflow.cs:242:17:242:40 | [finally: exception(NullReferenceException)] call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:242:35:242:39 | [finally: exception(NullReferenceException)] this access | cflow.cs:242:35:242:39 | [finally: exception(NullReferenceException)] access to field Field | semmle.label | successor |
|
|
| cflow.cs:242:35:242:39 | [finally: exception(OutOfMemoryException)] access to field Field | cflow.cs:242:17:242:40 | [finally: exception(OutOfMemoryException)] call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:242:35:242:39 | [finally: exception(OutOfMemoryException)] this access | cflow.cs:242:35:242:39 | [finally: exception(OutOfMemoryException)] access to field Field | semmle.label | successor |
|
|
| cflow.cs:242:35:242:39 | [finally: return] access to field Field | cflow.cs:242:17:242:40 | [finally: return] call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:242:35:242:39 | [finally: return] this access | cflow.cs:242:35:242:39 | [finally: return] access to field Field | semmle.label | successor |
|
|
| cflow.cs:242:35:242:39 | access to field Field | cflow.cs:242:17:242:40 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:242:35:242:39 | this access | cflow.cs:242:35:242:39 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:243:13:244:37 | [finally: exception(Exception)] if (...) ... | cflow.cs:243:17:243:21 | [finally: exception(Exception)] this access | semmle.label | successor |
|
|
| cflow.cs:243:13:244:37 | [finally: exception(NullReferenceException)] if (...) ... | cflow.cs:243:17:243:21 | [finally: exception(NullReferenceException)] this access | semmle.label | successor |
|
|
| cflow.cs:243:13:244:37 | [finally: exception(OutOfMemoryException)] if (...) ... | cflow.cs:243:17:243:21 | [finally: exception(OutOfMemoryException)] this access | semmle.label | successor |
|
|
| cflow.cs:243:13:244:37 | [finally: return] if (...) ... | cflow.cs:243:17:243:21 | [finally: return] this access | semmle.label | successor |
|
|
| cflow.cs:243:13:244:37 | if (...) ... | cflow.cs:243:17:243:21 | this access | semmle.label | successor |
|
|
| cflow.cs:243:17:243:21 | [finally: exception(Exception)] access to field Field | cflow.cs:243:17:243:28 | [finally: exception(Exception)] access to property Length | semmle.label | successor |
|
|
| cflow.cs:243:17:243:21 | [finally: exception(Exception)] this access | cflow.cs:243:17:243:21 | [finally: exception(Exception)] access to field Field | semmle.label | successor |
|
|
| cflow.cs:243:17:243:21 | [finally: exception(NullReferenceException)] access to field Field | cflow.cs:243:17:243:28 | [finally: exception(NullReferenceException)] access to property Length | semmle.label | successor |
|
|
| cflow.cs:243:17:243:21 | [finally: exception(NullReferenceException)] this access | cflow.cs:243:17:243:21 | [finally: exception(NullReferenceException)] access to field Field | semmle.label | successor |
|
|
| cflow.cs:243:17:243:21 | [finally: exception(OutOfMemoryException)] access to field Field | cflow.cs:243:17:243:28 | [finally: exception(OutOfMemoryException)] access to property Length | semmle.label | successor |
|
|
| cflow.cs:243:17:243:21 | [finally: exception(OutOfMemoryException)] this access | cflow.cs:243:17:243:21 | [finally: exception(OutOfMemoryException)] access to field Field | semmle.label | successor |
|
|
| cflow.cs:243:17:243:21 | [finally: return] access to field Field | cflow.cs:243:17:243:28 | [finally: return] access to property Length | semmle.label | successor |
|
|
| cflow.cs:243:17:243:21 | [finally: return] this access | cflow.cs:243:17:243:21 | [finally: return] access to field Field | semmle.label | successor |
|
|
| cflow.cs:243:17:243:21 | access to field Field | cflow.cs:243:17:243:28 | access to property Length | semmle.label | successor |
|
|
| cflow.cs:243:17:243:21 | this access | cflow.cs:243:17:243:21 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:243:17:243:28 | [finally: exception(Exception)] access to property Length | cflow.cs:243:32:243:32 | [finally: exception(Exception)] 0 | semmle.label | successor |
|
|
| cflow.cs:243:17:243:28 | [finally: exception(NullReferenceException)] access to property Length | cflow.cs:243:32:243:32 | [finally: exception(NullReferenceException)] 0 | semmle.label | successor |
|
|
| cflow.cs:243:17:243:28 | [finally: exception(OutOfMemoryException)] access to property Length | cflow.cs:243:32:243:32 | [finally: exception(OutOfMemoryException)] 0 | semmle.label | successor |
|
|
| cflow.cs:243:17:243:28 | [finally: return] access to property Length | cflow.cs:243:32:243:32 | [finally: return] 0 | semmle.label | successor |
|
|
| cflow.cs:243:17:243:28 | access to property Length | cflow.cs:243:32:243:32 | 0 | semmle.label | successor |
|
|
| cflow.cs:243:17:243:32 | ... > ... | cflow.cs:244:17:244:37 | ...; | semmle.label | true |
|
|
| cflow.cs:243:17:243:32 | ... > ... | cflow.cs:247:9:254:9 | try {...} ... | semmle.label | false |
|
|
| cflow.cs:243:17:243:32 | [finally: exception(Exception)] ... > ... | cflow.cs:146:10:146:19 | exit TryFinally | semmle.label | exception(Exception) |
|
|
| cflow.cs:243:17:243:32 | [finally: exception(Exception)] ... > ... | cflow.cs:244:17:244:37 | [finally: exception(Exception)] ...; | semmle.label | true |
|
|
| cflow.cs:243:17:243:32 | [finally: exception(NullReferenceException)] ... > ... | cflow.cs:146:10:146:19 | exit TryFinally | semmle.label | exception(NullReferenceException) |
|
|
| cflow.cs:243:17:243:32 | [finally: exception(NullReferenceException)] ... > ... | cflow.cs:244:17:244:37 | [finally: exception(NullReferenceException)] ...; | semmle.label | true |
|
|
| cflow.cs:243:17:243:32 | [finally: exception(OutOfMemoryException)] ... > ... | cflow.cs:146:10:146:19 | exit TryFinally | semmle.label | exception(OutOfMemoryException) |
|
|
| cflow.cs:243:17:243:32 | [finally: exception(OutOfMemoryException)] ... > ... | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; | semmle.label | true |
|
|
| cflow.cs:243:17:243:32 | [finally: return] ... > ... | cflow.cs:146:10:146:19 | exit TryFinally | semmle.label | return |
|
|
| cflow.cs:243:17:243:32 | [finally: return] ... > ... | cflow.cs:244:17:244:37 | [finally: return] ...; | semmle.label | true |
|
|
| cflow.cs:243:32:243:32 | 0 | cflow.cs:243:17:243:32 | ... > ... | semmle.label | successor |
|
|
| cflow.cs:243:32:243:32 | [finally: exception(Exception)] 0 | cflow.cs:243:17:243:32 | [finally: exception(Exception)] ... > ... | semmle.label | successor |
|
|
| cflow.cs:243:32:243:32 | [finally: exception(NullReferenceException)] 0 | cflow.cs:243:17:243:32 | [finally: exception(NullReferenceException)] ... > ... | semmle.label | successor |
|
|
| cflow.cs:243:32:243:32 | [finally: exception(OutOfMemoryException)] 0 | cflow.cs:243:17:243:32 | [finally: exception(OutOfMemoryException)] ... > ... | semmle.label | successor |
|
|
| cflow.cs:243:32:243:32 | [finally: return] 0 | cflow.cs:243:17:243:32 | [finally: return] ... > ... | semmle.label | successor |
|
|
| cflow.cs:244:17:244:36 | [finally: exception(Exception)] call to method WriteLine | cflow.cs:146:10:146:19 | exit TryFinally | semmle.label | exception(Exception) |
|
|
| cflow.cs:244:17:244:36 | [finally: exception(NullReferenceException)] call to method WriteLine | cflow.cs:146:10:146:19 | exit TryFinally | semmle.label | exception(NullReferenceException) |
|
|
| cflow.cs:244:17:244:36 | [finally: exception(OutOfMemoryException)] call to method WriteLine | cflow.cs:146:10:146:19 | exit TryFinally | semmle.label | exception(OutOfMemoryException) |
|
|
| cflow.cs:244:17:244:36 | [finally: return] call to method WriteLine | cflow.cs:146:10:146:19 | exit TryFinally | semmle.label | return |
|
|
| cflow.cs:244:17:244:36 | call to method WriteLine | cflow.cs:247:9:254:9 | try {...} ... | semmle.label | successor |
|
|
| cflow.cs:244:17:244:37 | ...; | cflow.cs:244:35:244:35 | 1 | semmle.label | successor |
|
|
| cflow.cs:244:17:244:37 | [finally: exception(Exception)] ...; | cflow.cs:244:35:244:35 | [finally: exception(Exception)] 1 | semmle.label | successor |
|
|
| cflow.cs:244:17:244:37 | [finally: exception(NullReferenceException)] ...; | cflow.cs:244:35:244:35 | [finally: exception(NullReferenceException)] 1 | semmle.label | successor |
|
|
| cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; | cflow.cs:244:35:244:35 | [finally: exception(OutOfMemoryException)] 1 | semmle.label | successor |
|
|
| cflow.cs:244:17:244:37 | [finally: return] ...; | cflow.cs:244:35:244:35 | [finally: return] 1 | semmle.label | successor |
|
|
| cflow.cs:244:35:244:35 | 1 | cflow.cs:244:17:244:36 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:244:35:244:35 | [finally: exception(Exception)] 1 | cflow.cs:244:17:244:36 | [finally: exception(Exception)] call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:244:35:244:35 | [finally: exception(NullReferenceException)] 1 | cflow.cs:244:17:244:36 | [finally: exception(NullReferenceException)] call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:244:35:244:35 | [finally: exception(OutOfMemoryException)] 1 | cflow.cs:244:17:244:36 | [finally: exception(OutOfMemoryException)] call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:244:35:244:35 | [finally: return] 1 | cflow.cs:244:17:244:36 | [finally: return] call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:247:9:254:9 | try {...} ... | cflow.cs:248:9:250:9 | {...} | semmle.label | successor |
|
|
| cflow.cs:248:9:250:9 | {...} | cflow.cs:249:13:249:41 | ... ...; | semmle.label | successor |
|
|
| cflow.cs:249:13:249:41 | ... ...; | cflow.cs:249:24:249:24 | 0 | semmle.label | successor |
|
|
| cflow.cs:249:17:249:40 | Double temp = ... | cflow.cs:146:10:146:19 | exit TryFinally | semmle.label | successor |
|
|
| cflow.cs:249:24:249:24 | 0 | cflow.cs:249:24:249:24 | (...) ... | semmle.label | successor |
|
|
| cflow.cs:249:24:249:24 | (...) ... | cflow.cs:249:28:249:40 | access to constant E | semmle.label | successor |
|
|
| cflow.cs:249:24:249:40 | ... / ... | cflow.cs:249:17:249:40 | Double temp = ... | semmle.label | successor |
|
|
| cflow.cs:249:28:249:40 | access to constant E | cflow.cs:249:24:249:40 | ... / ... | semmle.label | successor |
|
|
| cflow.cs:257:10:257:12 | enter For | cflow.cs:258:5:288:5 | {...} | semmle.label | successor |
|
|
| cflow.cs:258:5:288:5 | {...} | cflow.cs:259:9:259:18 | ... ...; | semmle.label | successor |
|
|
| cflow.cs:259:9:259:18 | ... ...; | cflow.cs:259:17:259:17 | 0 | semmle.label | successor |
|
|
| cflow.cs:259:13:259:17 | Int32 x = ... | cflow.cs:260:9:261:33 | for (...;...;...) ... | semmle.label | successor |
|
|
| cflow.cs:259:17:259:17 | 0 | cflow.cs:259:13:259:17 | Int32 x = ... | semmle.label | successor |
|
|
| cflow.cs:260:9:261:33 | for (...;...;...) ... | cflow.cs:260:16:260:16 | access to local variable x | semmle.label | successor |
|
|
| cflow.cs:260:16:260:16 | access to local variable x | cflow.cs:260:20:260:21 | 10 | semmle.label | successor |
|
|
| cflow.cs:260:16:260:21 | ... < ... | cflow.cs:261:13:261:33 | ...; | semmle.label | true |
|
|
| cflow.cs:260:16:260:21 | ... < ... | cflow.cs:263:9:268:9 | for (...;...;...) ... | semmle.label | false |
|
|
| cflow.cs:260:20:260:21 | 10 | cflow.cs:260:16:260:21 | ... < ... | semmle.label | successor |
|
|
| cflow.cs:260:24:260:26 | ++... | cflow.cs:260:16:260:16 | access to local variable x | semmle.label | successor |
|
|
| cflow.cs:260:26:260:26 | access to local variable x | cflow.cs:260:24:260:26 | ++... | semmle.label | successor |
|
|
| cflow.cs:261:13:261:32 | call to method WriteLine | cflow.cs:260:26:260:26 | access to local variable x | semmle.label | successor |
|
|
| cflow.cs:261:13:261:33 | ...; | cflow.cs:261:31:261:31 | access to local variable x | semmle.label | successor |
|
|
| cflow.cs:261:31:261:31 | access to local variable x | cflow.cs:261:13:261:32 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:263:9:268:9 | for (...;...;...) ... | cflow.cs:264:9:268:9 | {...} | semmle.label | successor |
|
|
| cflow.cs:263:18:263:18 | access to local variable x | cflow.cs:263:18:263:20 | ...++ | semmle.label | successor |
|
|
| cflow.cs:263:18:263:20 | ...++ | cflow.cs:264:9:268:9 | {...} | semmle.label | successor |
|
|
| cflow.cs:264:9:268:9 | {...} | cflow.cs:265:13:265:33 | ...; | semmle.label | successor |
|
|
| cflow.cs:265:13:265:32 | call to method WriteLine | cflow.cs:266:13:267:22 | if (...) ... | semmle.label | successor |
|
|
| cflow.cs:265:13:265:33 | ...; | cflow.cs:265:31:265:31 | access to local variable x | semmle.label | successor |
|
|
| cflow.cs:265:31:265:31 | access to local variable x | cflow.cs:265:13:265:32 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:266:13:267:22 | if (...) ... | cflow.cs:266:17:266:17 | access to local variable x | semmle.label | successor |
|
|
| cflow.cs:266:17:266:17 | access to local variable x | cflow.cs:266:21:266:22 | 20 | semmle.label | successor |
|
|
| cflow.cs:266:17:266:22 | ... > ... | cflow.cs:263:18:263:18 | access to local variable x | semmle.label | false |
|
|
| cflow.cs:266:17:266:22 | ... > ... | cflow.cs:267:17:267:22 | break; | semmle.label | true |
|
|
| cflow.cs:266:21:266:22 | 20 | cflow.cs:266:17:266:22 | ... > ... | semmle.label | successor |
|
|
| cflow.cs:267:17:267:22 | break; | cflow.cs:270:9:276:9 | for (...;...;...) ... | semmle.label | break |
|
|
| cflow.cs:270:9:276:9 | for (...;...;...) ... | cflow.cs:271:9:276:9 | {...} | semmle.label | successor |
|
|
| cflow.cs:271:9:276:9 | {...} | cflow.cs:272:13:272:33 | ...; | semmle.label | successor |
|
|
| cflow.cs:272:13:272:32 | call to method WriteLine | cflow.cs:273:13:273:16 | ...; | semmle.label | successor |
|
|
| cflow.cs:272:13:272:33 | ...; | cflow.cs:272:31:272:31 | access to local variable x | semmle.label | successor |
|
|
| cflow.cs:272:31:272:31 | access to local variable x | cflow.cs:272:13:272:32 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:273:13:273:13 | access to local variable x | cflow.cs:273:13:273:15 | ...++ | semmle.label | successor |
|
|
| cflow.cs:273:13:273:15 | ...++ | cflow.cs:274:13:275:22 | if (...) ... | semmle.label | successor |
|
|
| cflow.cs:273:13:273:16 | ...; | cflow.cs:273:13:273:13 | access to local variable x | semmle.label | successor |
|
|
| cflow.cs:274:13:275:22 | if (...) ... | cflow.cs:274:17:274:17 | access to local variable x | semmle.label | successor |
|
|
| cflow.cs:274:17:274:17 | access to local variable x | cflow.cs:274:21:274:22 | 30 | semmle.label | successor |
|
|
| cflow.cs:274:17:274:22 | ... > ... | cflow.cs:271:9:276:9 | {...} | semmle.label | false |
|
|
| cflow.cs:274:17:274:22 | ... > ... | cflow.cs:275:17:275:22 | break; | semmle.label | true |
|
|
| cflow.cs:274:21:274:22 | 30 | cflow.cs:274:17:274:22 | ... > ... | semmle.label | successor |
|
|
| cflow.cs:275:17:275:22 | break; | cflow.cs:278:9:282:9 | for (...;...;...) ... | semmle.label | break |
|
|
| cflow.cs:278:9:282:9 | for (...;...;...) ... | cflow.cs:278:16:278:16 | access to local variable x | semmle.label | successor |
|
|
| cflow.cs:278:16:278:16 | access to local variable x | cflow.cs:278:20:278:21 | 40 | semmle.label | successor |
|
|
| cflow.cs:278:16:278:21 | ... < ... | cflow.cs:279:9:282:9 | {...} | semmle.label | true |
|
|
| cflow.cs:278:16:278:21 | ... < ... | cflow.cs:284:9:287:9 | for (...;...;...) ... | semmle.label | false |
|
|
| cflow.cs:278:20:278:21 | 40 | cflow.cs:278:16:278:21 | ... < ... | semmle.label | successor |
|
|
| cflow.cs:279:9:282:9 | {...} | cflow.cs:280:13:280:33 | ...; | semmle.label | successor |
|
|
| cflow.cs:280:13:280:32 | call to method WriteLine | cflow.cs:281:13:281:16 | ...; | semmle.label | successor |
|
|
| cflow.cs:280:13:280:33 | ...; | cflow.cs:280:31:280:31 | access to local variable x | semmle.label | successor |
|
|
| cflow.cs:280:31:280:31 | access to local variable x | cflow.cs:280:13:280:32 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:281:13:281:13 | access to local variable x | cflow.cs:281:13:281:15 | ...++ | semmle.label | successor |
|
|
| cflow.cs:281:13:281:15 | ...++ | cflow.cs:278:16:278:16 | access to local variable x | semmle.label | successor |
|
|
| cflow.cs:281:13:281:16 | ...; | cflow.cs:281:13:281:13 | access to local variable x | semmle.label | successor |
|
|
| cflow.cs:284:9:287:9 | for (...;...;...) ... | cflow.cs:284:22:284:22 | 0 | semmle.label | successor |
|
|
| cflow.cs:284:18:284:22 | Int32 i = ... | cflow.cs:284:29:284:29 | 0 | semmle.label | successor |
|
|
| cflow.cs:284:22:284:22 | 0 | cflow.cs:284:18:284:22 | Int32 i = ... | semmle.label | successor |
|
|
| cflow.cs:284:25:284:29 | Int32 j = ... | cflow.cs:284:32:284:32 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:284:29:284:29 | 0 | cflow.cs:284:25:284:29 | Int32 j = ... | semmle.label | successor |
|
|
| cflow.cs:284:32:284:32 | access to local variable i | cflow.cs:284:36:284:36 | access to local variable j | semmle.label | successor |
|
|
| cflow.cs:284:32:284:36 | ... + ... | cflow.cs:284:40:284:41 | 10 | semmle.label | successor |
|
|
| cflow.cs:284:32:284:41 | ... < ... | cflow.cs:257:10:257:12 | exit For | semmle.label | false |
|
|
| cflow.cs:284:32:284:41 | ... < ... | cflow.cs:285:9:287:9 | {...} | semmle.label | true |
|
|
| cflow.cs:284:36:284:36 | access to local variable j | cflow.cs:284:32:284:36 | ... + ... | semmle.label | successor |
|
|
| cflow.cs:284:40:284:41 | 10 | cflow.cs:284:32:284:41 | ... < ... | semmle.label | successor |
|
|
| cflow.cs:284:44:284:44 | access to local variable i | cflow.cs:284:44:284:46 | ...++ | semmle.label | successor |
|
|
| cflow.cs:284:44:284:46 | ...++ | cflow.cs:284:49:284:49 | access to local variable j | semmle.label | successor |
|
|
| cflow.cs:284:49:284:49 | access to local variable j | cflow.cs:284:49:284:51 | ...++ | semmle.label | successor |
|
|
| cflow.cs:284:49:284:51 | ...++ | cflow.cs:284:32:284:32 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:285:9:287:9 | {...} | cflow.cs:286:13:286:37 | ...; | semmle.label | successor |
|
|
| cflow.cs:286:13:286:36 | call to method WriteLine | cflow.cs:284:44:284:44 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:286:13:286:37 | ...; | cflow.cs:286:31:286:31 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:286:31:286:31 | access to local variable i | cflow.cs:286:35:286:35 | access to local variable j | semmle.label | successor |
|
|
| cflow.cs:286:31:286:35 | ... + ... | cflow.cs:286:13:286:36 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:286:35:286:35 | access to local variable j | cflow.cs:286:31:286:35 | ... + ... | semmle.label | successor |
|
|
| cflow.cs:290:10:290:16 | enter Lambdas | cflow.cs:291:5:294:5 | {...} | semmle.label | successor |
|
|
| cflow.cs:291:5:294:5 | {...} | cflow.cs:292:9:292:38 | ... ...; | semmle.label | successor |
|
|
| cflow.cs:292:9:292:38 | ... ...; | cflow.cs:292:28:292:37 | (...) => ... | semmle.label | successor |
|
|
| cflow.cs:292:24:292:37 | Func<Int32,Int32> y = ... | cflow.cs:293:9:293:62 | ... ...; | semmle.label | successor |
|
|
| cflow.cs:292:28:292:37 | (...) => ... | cflow.cs:292:24:292:37 | Func<Int32,Int32> y = ... | semmle.label | successor |
|
|
| cflow.cs:292:28:292:37 | enter (...) => ... | cflow.cs:292:33:292:33 | access to parameter x | semmle.label | successor |
|
|
| cflow.cs:292:33:292:33 | access to parameter x | cflow.cs:292:37:292:37 | 1 | semmle.label | successor |
|
|
| cflow.cs:292:33:292:37 | ... + ... | cflow.cs:292:28:292:37 | exit (...) => ... | semmle.label | successor |
|
|
| cflow.cs:292:37:292:37 | 1 | cflow.cs:292:33:292:37 | ... + ... | semmle.label | successor |
|
|
| cflow.cs:293:9:293:62 | ... ...; | cflow.cs:293:28:293:61 | delegate(...) { ... } | semmle.label | successor |
|
|
| cflow.cs:293:24:293:61 | Func<Int32,Int32> z = ... | cflow.cs:290:10:290:16 | exit Lambdas | semmle.label | successor |
|
|
| cflow.cs:293:28:293:61 | delegate(...) { ... } | cflow.cs:293:24:293:61 | Func<Int32,Int32> z = ... | semmle.label | successor |
|
|
| cflow.cs:293:28:293:61 | enter delegate(...) { ... } | cflow.cs:293:45:293:61 | {...} | semmle.label | successor |
|
|
| cflow.cs:293:45:293:61 | {...} | cflow.cs:293:54:293:54 | access to parameter x | semmle.label | successor |
|
|
| cflow.cs:293:47:293:59 | return ...; | cflow.cs:293:28:293:61 | exit delegate(...) { ... } | semmle.label | return |
|
|
| cflow.cs:293:54:293:54 | access to parameter x | cflow.cs:293:58:293:58 | 1 | semmle.label | successor |
|
|
| cflow.cs:293:54:293:58 | ... + ... | cflow.cs:293:47:293:59 | return ...; | semmle.label | successor |
|
|
| cflow.cs:293:58:293:58 | 1 | cflow.cs:293:54:293:58 | ... + ... | semmle.label | successor |
|
|
| cflow.cs:296:10:296:18 | enter LogicalOr | cflow.cs:297:5:302:5 | {...} | semmle.label | successor |
|
|
| cflow.cs:297:5:302:5 | {...} | cflow.cs:298:9:301:52 | if (...) ... | semmle.label | successor |
|
|
| cflow.cs:298:9:301:52 | if (...) ... | cflow.cs:298:13:298:50 | ... \|\| ... | semmle.label | successor |
|
|
| cflow.cs:298:13:298:13 | 1 | cflow.cs:298:18:298:18 | 2 | semmle.label | successor |
|
|
| cflow.cs:298:13:298:18 | ... == ... | cflow.cs:298:23:298:23 | 2 | semmle.label | false |
|
|
| cflow.cs:298:13:298:28 | ... \|\| ... | cflow.cs:298:13:298:13 | 1 | semmle.label | successor |
|
|
| cflow.cs:298:13:298:50 | ... \|\| ... | cflow.cs:298:13:298:28 | ... \|\| ... | semmle.label | successor |
|
|
| cflow.cs:298:18:298:18 | 2 | cflow.cs:298:13:298:18 | ... == ... | semmle.label | successor |
|
|
| cflow.cs:298:23:298:23 | 2 | cflow.cs:298:28:298:28 | 3 | semmle.label | successor |
|
|
| cflow.cs:298:23:298:28 | ... == ... | cflow.cs:298:34:298:49 | ... && ... | semmle.label | false |
|
|
| cflow.cs:298:28:298:28 | 3 | cflow.cs:298:23:298:28 | ... == ... | semmle.label | successor |
|
|
| cflow.cs:298:34:298:34 | 1 | cflow.cs:298:39:298:39 | 3 | semmle.label | successor |
|
|
| cflow.cs:298:34:298:39 | ... == ... | cflow.cs:301:13:301:52 | ...; | semmle.label | false |
|
|
| cflow.cs:298:34:298:49 | ... && ... | cflow.cs:298:34:298:34 | 1 | semmle.label | successor |
|
|
| cflow.cs:298:39:298:39 | 3 | cflow.cs:298:34:298:39 | ... == ... | semmle.label | successor |
|
|
| cflow.cs:301:13:301:51 | call to method WriteLine | cflow.cs:296:10:296:18 | exit LogicalOr | semmle.label | successor |
|
|
| cflow.cs:301:13:301:52 | ...; | cflow.cs:301:31:301:50 | "This should happen" | semmle.label | successor |
|
|
| cflow.cs:301:31:301:50 | "This should happen" | cflow.cs:301:13:301:51 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:304:10:304:17 | enter Booleans | cflow.cs:305:5:317:5 | {...} | semmle.label | successor |
|
|
| cflow.cs:305:5:317:5 | {...} | cflow.cs:306:9:306:57 | ... ...; | semmle.label | successor |
|
|
| cflow.cs:306:9:306:57 | ... ...; | cflow.cs:306:17:306:56 | ... && ... | semmle.label | successor |
|
|
| cflow.cs:306:13:306:56 | Boolean b = ... | cflow.cs:308:9:309:49 | if (...) ... | semmle.label | successor |
|
|
| cflow.cs:306:17:306:21 | access to field Field | cflow.cs:306:17:306:28 | access to property Length | semmle.label | successor |
|
|
| cflow.cs:306:17:306:21 | this access | cflow.cs:306:17:306:21 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:306:17:306:28 | access to property Length | cflow.cs:306:32:306:32 | 0 | semmle.label | successor |
|
|
| cflow.cs:306:17:306:32 | ... > ... | cflow.cs:306:13:306:56 | Boolean b = ... | semmle.label | false |
|
|
| cflow.cs:306:17:306:32 | ... > ... | cflow.cs:306:37:306:56 | !... | semmle.label | true |
|
|
| cflow.cs:306:17:306:56 | ... && ... | cflow.cs:306:17:306:21 | this access | semmle.label | successor |
|
|
| cflow.cs:306:32:306:32 | 0 | cflow.cs:306:17:306:32 | ... > ... | semmle.label | successor |
|
|
| cflow.cs:306:37:306:56 | !... | cflow.cs:306:39:306:43 | this access | semmle.label | successor |
|
|
| cflow.cs:306:39:306:43 | access to field Field | cflow.cs:306:39:306:50 | access to property Length | semmle.label | successor |
|
|
| cflow.cs:306:39:306:43 | this access | cflow.cs:306:39:306:43 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:306:39:306:50 | access to property Length | cflow.cs:306:55:306:55 | 1 | semmle.label | successor |
|
|
| cflow.cs:306:39:306:55 | ... == ... | cflow.cs:306:13:306:56 | Boolean b = ... | semmle.label | successor |
|
|
| cflow.cs:306:55:306:55 | 1 | cflow.cs:306:39:306:55 | ... == ... | semmle.label | successor |
|
|
| cflow.cs:308:9:309:49 | if (...) ... | cflow.cs:308:13:308:47 | !... | semmle.label | successor |
|
|
| cflow.cs:308:13:308:47 | !... | cflow.cs:308:15:308:46 | ... ? ... : ... | semmle.label | successor |
|
|
| cflow.cs:308:15:308:19 | access to field Field | cflow.cs:308:15:308:26 | access to property Length | semmle.label | successor |
|
|
| cflow.cs:308:15:308:19 | this access | cflow.cs:308:15:308:19 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:308:15:308:26 | access to property Length | cflow.cs:308:31:308:31 | 0 | semmle.label | successor |
|
|
| cflow.cs:308:15:308:31 | ... == ... | cflow.cs:308:35:308:39 | false | semmle.label | true |
|
|
| cflow.cs:308:15:308:31 | ... == ... | cflow.cs:308:43:308:46 | true | semmle.label | false |
|
|
| cflow.cs:308:15:308:46 | ... ? ... : ... | cflow.cs:308:15:308:19 | this access | semmle.label | successor |
|
|
| cflow.cs:308:31:308:31 | 0 | cflow.cs:308:15:308:31 | ... == ... | semmle.label | successor |
|
|
| cflow.cs:308:35:308:39 | false | cflow.cs:309:13:309:49 | ...; | semmle.label | false |
|
|
| cflow.cs:308:43:308:46 | true | cflow.cs:311:9:316:9 | if (...) ... | semmle.label | true |
|
|
| cflow.cs:309:13:309:48 | ... = ... | cflow.cs:311:9:316:9 | if (...) ... | semmle.label | successor |
|
|
| cflow.cs:309:13:309:49 | ...; | cflow.cs:309:17:309:48 | ... ? ... : ... | semmle.label | successor |
|
|
| cflow.cs:309:17:309:21 | access to field Field | cflow.cs:309:17:309:28 | access to property Length | semmle.label | successor |
|
|
| cflow.cs:309:17:309:21 | this access | cflow.cs:309:17:309:21 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:309:17:309:28 | access to property Length | cflow.cs:309:33:309:33 | 0 | semmle.label | successor |
|
|
| cflow.cs:309:17:309:33 | ... == ... | cflow.cs:309:37:309:41 | false | semmle.label | true |
|
|
| cflow.cs:309:17:309:33 | ... == ... | cflow.cs:309:45:309:48 | true | semmle.label | false |
|
|
| cflow.cs:309:17:309:48 | ... ? ... : ... | cflow.cs:309:17:309:21 | this access | semmle.label | successor |
|
|
| cflow.cs:309:33:309:33 | 0 | cflow.cs:309:17:309:33 | ... == ... | semmle.label | successor |
|
|
| cflow.cs:309:37:309:41 | false | cflow.cs:309:13:309:48 | ... = ... | semmle.label | successor |
|
|
| cflow.cs:309:45:309:48 | true | cflow.cs:309:13:309:48 | ... = ... | semmle.label | successor |
|
|
| cflow.cs:311:9:316:9 | if (...) ... | cflow.cs:311:13:311:62 | ... \|\| ... | semmle.label | successor |
|
|
| cflow.cs:311:13:311:32 | !... | cflow.cs:311:15:311:19 | this access | semmle.label | successor |
|
|
| cflow.cs:311:13:311:62 | ... \|\| ... | cflow.cs:311:13:311:32 | !... | semmle.label | successor |
|
|
| cflow.cs:311:15:311:19 | access to field Field | cflow.cs:311:15:311:26 | access to property Length | semmle.label | successor |
|
|
| cflow.cs:311:15:311:19 | this access | cflow.cs:311:15:311:19 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:311:15:311:26 | access to property Length | cflow.cs:311:31:311:31 | 0 | semmle.label | successor |
|
|
| cflow.cs:311:15:311:31 | ... == ... | cflow.cs:311:37:311:62 | !... | semmle.label | true |
|
|
| cflow.cs:311:15:311:31 | ... == ... | cflow.cs:312:9:316:9 | {...} | semmle.label | false |
|
|
| cflow.cs:311:31:311:31 | 0 | cflow.cs:311:15:311:31 | ... == ... | semmle.label | successor |
|
|
| cflow.cs:311:37:311:62 | !... | cflow.cs:311:38:311:62 | !... | semmle.label | successor |
|
|
| cflow.cs:311:38:311:62 | !... | cflow.cs:311:40:311:61 | ... && ... | semmle.label | successor |
|
|
| cflow.cs:311:40:311:44 | access to field Field | cflow.cs:311:40:311:51 | access to property Length | semmle.label | successor |
|
|
| cflow.cs:311:40:311:44 | this access | cflow.cs:311:40:311:44 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:311:40:311:51 | access to property Length | cflow.cs:311:56:311:56 | 1 | semmle.label | successor |
|
|
| cflow.cs:311:40:311:56 | ... == ... | cflow.cs:304:10:304:17 | exit Booleans | semmle.label | false |
|
|
| cflow.cs:311:40:311:56 | ... == ... | cflow.cs:311:61:311:61 | access to local variable b | semmle.label | true |
|
|
| cflow.cs:311:40:311:61 | ... && ... | cflow.cs:311:40:311:44 | this access | semmle.label | successor |
|
|
| cflow.cs:311:56:311:56 | 1 | cflow.cs:311:40:311:56 | ... == ... | semmle.label | successor |
|
|
| cflow.cs:311:61:311:61 | access to local variable b | cflow.cs:304:10:304:17 | exit Booleans | semmle.label | false |
|
|
| cflow.cs:311:61:311:61 | access to local variable b | cflow.cs:312:9:316:9 | {...} | semmle.label | true |
|
|
| cflow.cs:312:9:316:9 | {...} | cflow.cs:313:13:315:13 | {...} | semmle.label | successor |
|
|
| cflow.cs:313:13:315:13 | {...} | cflow.cs:314:23:314:37 | object creation of type Exception | semmle.label | successor |
|
|
| cflow.cs:314:17:314:38 | throw ...; | cflow.cs:304:10:304:17 | exit Booleans | semmle.label | exception(Exception) |
|
|
| cflow.cs:314:23:314:37 | object creation of type Exception | cflow.cs:314:17:314:38 | throw ...; | semmle.label | successor |
|
|
| cflow.cs:319:10:319:11 | enter Do | cflow.cs:320:5:333:5 | {...} | semmle.label | successor |
|
|
| cflow.cs:320:5:333:5 | {...} | cflow.cs:321:9:332:36 | do ... while (...); | semmle.label | successor |
|
|
| cflow.cs:321:9:332:36 | do ... while (...); | cflow.cs:322:9:332:9 | {...} | semmle.label | successor |
|
|
| cflow.cs:322:9:332:9 | {...} | cflow.cs:323:13:323:25 | ...; | semmle.label | successor |
|
|
| cflow.cs:323:13:323:17 | access to field Field | cflow.cs:323:22:323:24 | "a" | semmle.label | successor |
|
|
| cflow.cs:323:13:323:17 | this access | cflow.cs:323:13:323:17 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:323:13:323:17 | this access | cflow.cs:323:13:323:17 | this access | semmle.label | successor |
|
|
| cflow.cs:323:13:323:24 | ... + ... | cflow.cs:323:13:323:24 | ... = ... | semmle.label | successor |
|
|
| cflow.cs:323:13:323:24 | ... = ... | cflow.cs:324:13:327:13 | if (...) ... | semmle.label | successor |
|
|
| cflow.cs:323:13:323:25 | ...; | cflow.cs:323:13:323:17 | this access | semmle.label | successor |
|
|
| cflow.cs:323:22:323:24 | "a" | cflow.cs:323:13:323:24 | ... + ... | semmle.label | successor |
|
|
| cflow.cs:324:13:327:13 | if (...) ... | cflow.cs:324:17:324:21 | this access | semmle.label | successor |
|
|
| cflow.cs:324:17:324:21 | access to field Field | cflow.cs:324:17:324:28 | access to property Length | semmle.label | successor |
|
|
| cflow.cs:324:17:324:21 | this access | cflow.cs:324:17:324:21 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:324:17:324:28 | access to property Length | cflow.cs:324:32:324:32 | 0 | semmle.label | successor |
|
|
| cflow.cs:324:17:324:32 | ... > ... | cflow.cs:325:13:327:13 | {...} | semmle.label | true |
|
|
| cflow.cs:324:17:324:32 | ... > ... | cflow.cs:328:13:331:13 | if (...) ... | semmle.label | false |
|
|
| cflow.cs:324:32:324:32 | 0 | cflow.cs:324:17:324:32 | ... > ... | semmle.label | successor |
|
|
| cflow.cs:325:13:327:13 | {...} | cflow.cs:326:17:326:25 | continue; | semmle.label | successor |
|
|
| cflow.cs:326:17:326:25 | continue; | cflow.cs:332:18:332:22 | this access | semmle.label | continue |
|
|
| cflow.cs:328:13:331:13 | if (...) ... | cflow.cs:328:17:328:21 | this access | semmle.label | successor |
|
|
| cflow.cs:328:17:328:21 | access to field Field | cflow.cs:328:17:328:28 | access to property Length | semmle.label | successor |
|
|
| cflow.cs:328:17:328:21 | this access | cflow.cs:328:17:328:21 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:328:17:328:28 | access to property Length | cflow.cs:328:32:328:32 | 0 | semmle.label | successor |
|
|
| cflow.cs:328:17:328:32 | ... < ... | cflow.cs:329:13:331:13 | {...} | semmle.label | true |
|
|
| cflow.cs:328:17:328:32 | ... < ... | cflow.cs:332:18:332:22 | this access | semmle.label | false |
|
|
| cflow.cs:328:32:328:32 | 0 | cflow.cs:328:17:328:32 | ... < ... | semmle.label | successor |
|
|
| cflow.cs:329:13:331:13 | {...} | cflow.cs:330:17:330:22 | break; | semmle.label | successor |
|
|
| cflow.cs:330:17:330:22 | break; | cflow.cs:319:10:319:11 | exit Do | semmle.label | break |
|
|
| cflow.cs:332:18:332:22 | access to field Field | cflow.cs:332:18:332:29 | access to property Length | semmle.label | successor |
|
|
| cflow.cs:332:18:332:22 | this access | cflow.cs:332:18:332:22 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:332:18:332:29 | access to property Length | cflow.cs:332:33:332:34 | 10 | semmle.label | successor |
|
|
| cflow.cs:332:18:332:34 | ... < ... | cflow.cs:319:10:319:11 | exit Do | semmle.label | false |
|
|
| cflow.cs:332:18:332:34 | ... < ... | cflow.cs:322:9:332:9 | {...} | semmle.label | true |
|
|
| cflow.cs:332:33:332:34 | 10 | cflow.cs:332:18:332:34 | ... < ... | semmle.label | successor |
|
|
| cflow.cs:335:10:335:16 | enter Foreach | cflow.cs:336:5:349:5 | {...} | semmle.label | successor |
|
|
| cflow.cs:336:5:349:5 | {...} | cflow.cs:337:57:337:59 | "a" | semmle.label | successor |
|
|
| cflow.cs:337:9:348:9 | foreach (... ... in ...) ... | cflow.cs:335:10:335:16 | exit Foreach | semmle.label | empty |
|
|
| cflow.cs:337:9:348:9 | foreach (... ... in ...) ... | cflow.cs:337:22:337:22 | String x | semmle.label | non-empty |
|
|
| cflow.cs:337:22:337:22 | String x | cflow.cs:338:9:348:9 | {...} | semmle.label | successor |
|
|
| cflow.cs:337:27:337:64 | call to method Repeat | cflow.cs:337:9:348:9 | foreach (... ... in ...) ... | semmle.label | successor |
|
|
| cflow.cs:337:57:337:59 | "a" | cflow.cs:337:62:337:63 | 10 | semmle.label | successor |
|
|
| cflow.cs:337:62:337:63 | 10 | cflow.cs:337:27:337:64 | call to method Repeat | semmle.label | successor |
|
|
| cflow.cs:338:9:348:9 | {...} | cflow.cs:339:13:339:23 | ...; | semmle.label | successor |
|
|
| cflow.cs:339:13:339:17 | access to field Field | cflow.cs:339:22:339:22 | access to local variable x | semmle.label | successor |
|
|
| cflow.cs:339:13:339:17 | this access | cflow.cs:339:13:339:17 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:339:13:339:17 | this access | cflow.cs:339:13:339:17 | this access | semmle.label | successor |
|
|
| cflow.cs:339:13:339:22 | ... + ... | cflow.cs:339:13:339:22 | ... = ... | semmle.label | successor |
|
|
| cflow.cs:339:13:339:22 | ... = ... | cflow.cs:340:13:343:13 | if (...) ... | semmle.label | successor |
|
|
| cflow.cs:339:13:339:23 | ...; | cflow.cs:339:13:339:17 | this access | semmle.label | successor |
|
|
| cflow.cs:339:22:339:22 | access to local variable x | cflow.cs:339:13:339:22 | ... + ... | semmle.label | successor |
|
|
| cflow.cs:340:13:343:13 | if (...) ... | cflow.cs:340:17:340:21 | this access | semmle.label | successor |
|
|
| cflow.cs:340:17:340:21 | access to field Field | cflow.cs:340:17:340:28 | access to property Length | semmle.label | successor |
|
|
| cflow.cs:340:17:340:21 | this access | cflow.cs:340:17:340:21 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:340:17:340:28 | access to property Length | cflow.cs:340:32:340:32 | 0 | semmle.label | successor |
|
|
| cflow.cs:340:17:340:32 | ... > ... | cflow.cs:341:13:343:13 | {...} | semmle.label | true |
|
|
| cflow.cs:340:17:340:32 | ... > ... | cflow.cs:344:13:347:13 | if (...) ... | semmle.label | false |
|
|
| cflow.cs:340:32:340:32 | 0 | cflow.cs:340:17:340:32 | ... > ... | semmle.label | successor |
|
|
| cflow.cs:341:13:343:13 | {...} | cflow.cs:342:17:342:25 | continue; | semmle.label | successor |
|
|
| cflow.cs:342:17:342:25 | continue; | cflow.cs:337:9:348:9 | foreach (... ... in ...) ... | semmle.label | continue |
|
|
| cflow.cs:344:13:347:13 | if (...) ... | cflow.cs:344:17:344:21 | this access | semmle.label | successor |
|
|
| cflow.cs:344:17:344:21 | access to field Field | cflow.cs:344:17:344:28 | access to property Length | semmle.label | successor |
|
|
| cflow.cs:344:17:344:21 | this access | cflow.cs:344:17:344:21 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:344:17:344:28 | access to property Length | cflow.cs:344:32:344:32 | 0 | semmle.label | successor |
|
|
| cflow.cs:344:17:344:32 | ... < ... | cflow.cs:337:9:348:9 | foreach (... ... in ...) ... | semmle.label | false |
|
|
| cflow.cs:344:17:344:32 | ... < ... | cflow.cs:345:13:347:13 | {...} | semmle.label | true |
|
|
| cflow.cs:344:32:344:32 | 0 | cflow.cs:344:17:344:32 | ... < ... | semmle.label | successor |
|
|
| cflow.cs:345:13:347:13 | {...} | cflow.cs:346:17:346:22 | break; | semmle.label | successor |
|
|
| cflow.cs:346:17:346:22 | break; | cflow.cs:335:10:335:16 | exit Foreach | semmle.label | break |
|
|
| cflow.cs:351:10:351:13 | enter Goto | cflow.cs:352:5:370:5 | {...} | semmle.label | successor |
|
|
| cflow.cs:352:5:370:5 | {...} | cflow.cs:353:9:353:13 | Label: | semmle.label | successor |
|
|
| cflow.cs:353:9:353:13 | Label: | cflow.cs:353:16:353:45 | if (...) ... | semmle.label | successor |
|
|
| cflow.cs:353:16:353:45 | if (...) ... | cflow.cs:353:20:353:40 | !... | semmle.label | successor |
|
|
| cflow.cs:353:20:353:40 | !... | cflow.cs:353:21:353:40 | !... | semmle.label | successor |
|
|
| cflow.cs:353:21:353:40 | !... | cflow.cs:353:23:353:27 | this access | semmle.label | successor |
|
|
| cflow.cs:353:23:353:27 | access to field Field | cflow.cs:353:23:353:34 | access to property Length | semmle.label | successor |
|
|
| cflow.cs:353:23:353:27 | this access | cflow.cs:353:23:353:27 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:353:23:353:34 | access to property Length | cflow.cs:353:39:353:39 | 0 | semmle.label | successor |
|
|
| cflow.cs:353:23:353:39 | ... == ... | cflow.cs:353:43:353:45 | {...} | semmle.label | true |
|
|
| cflow.cs:353:23:353:39 | ... == ... | cflow.cs:355:9:355:41 | if (...) ... | semmle.label | false |
|
|
| cflow.cs:353:39:353:39 | 0 | cflow.cs:353:23:353:39 | ... == ... | semmle.label | successor |
|
|
| cflow.cs:353:43:353:45 | {...} | cflow.cs:355:9:355:41 | if (...) ... | semmle.label | successor |
|
|
| cflow.cs:355:9:355:41 | if (...) ... | cflow.cs:355:13:355:17 | this access | semmle.label | successor |
|
|
| cflow.cs:355:13:355:17 | access to field Field | cflow.cs:355:13:355:24 | access to property Length | semmle.label | successor |
|
|
| cflow.cs:355:13:355:17 | this access | cflow.cs:355:13:355:17 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:355:13:355:24 | access to property Length | cflow.cs:355:28:355:28 | 0 | semmle.label | successor |
|
|
| cflow.cs:355:13:355:28 | ... > ... | cflow.cs:355:31:355:41 | goto ...; | semmle.label | true |
|
|
| cflow.cs:355:13:355:28 | ... > ... | cflow.cs:357:9:369:9 | switch (...) {...} | semmle.label | false |
|
|
| cflow.cs:355:28:355:28 | 0 | cflow.cs:355:13:355:28 | ... > ... | semmle.label | successor |
|
|
| cflow.cs:355:31:355:41 | goto ...; | cflow.cs:353:9:353:13 | Label: | semmle.label | goto(Label) |
|
|
| cflow.cs:357:9:369:9 | switch (...) {...} | cflow.cs:357:17:357:21 | this access | semmle.label | successor |
|
|
| cflow.cs:357:17:357:21 | access to field Field | cflow.cs:357:17:357:28 | access to property Length | semmle.label | successor |
|
|
| cflow.cs:357:17:357:21 | this access | cflow.cs:357:17:357:21 | access to field Field | semmle.label | successor |
|
|
| cflow.cs:357:17:357:28 | access to property Length | cflow.cs:357:32:357:32 | 3 | semmle.label | successor |
|
|
| cflow.cs:357:17:357:32 | ... + ... | cflow.cs:359:13:359:19 | case ...: | semmle.label | successor |
|
|
| cflow.cs:357:32:357:32 | 3 | cflow.cs:357:17:357:32 | ... + ... | semmle.label | successor |
|
|
| cflow.cs:359:13:359:19 | case ...: | cflow.cs:359:18:359:18 | 0 | semmle.label | successor |
|
|
| cflow.cs:359:18:359:18 | 0 | cflow.cs:360:17:360:29 | goto default; | semmle.label | match |
|
|
| cflow.cs:359:18:359:18 | 0 | cflow.cs:361:13:361:19 | case ...: | semmle.label | no-match |
|
|
| cflow.cs:360:17:360:29 | goto default; | cflow.cs:366:13:366:20 | default: | semmle.label | goto(default) |
|
|
| cflow.cs:361:13:361:19 | case ...: | cflow.cs:361:18:361:18 | 1 | semmle.label | successor |
|
|
| cflow.cs:361:18:361:18 | 1 | cflow.cs:362:17:362:37 | ...; | semmle.label | match |
|
|
| cflow.cs:361:18:361:18 | 1 | cflow.cs:364:13:364:19 | case ...: | semmle.label | no-match |
|
|
| cflow.cs:362:17:362:36 | call to method WriteLine | cflow.cs:363:17:363:22 | break; | semmle.label | successor |
|
|
| cflow.cs:362:17:362:37 | ...; | cflow.cs:362:35:362:35 | 1 | semmle.label | successor |
|
|
| cflow.cs:362:35:362:35 | 1 | cflow.cs:362:17:362:36 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:363:17:363:22 | break; | cflow.cs:351:10:351:13 | exit Goto | semmle.label | break |
|
|
| cflow.cs:364:13:364:19 | case ...: | cflow.cs:364:18:364:18 | 2 | semmle.label | successor |
|
|
| cflow.cs:364:18:364:18 | 2 | cflow.cs:365:17:365:27 | goto ...; | semmle.label | match |
|
|
| cflow.cs:364:18:364:18 | 2 | cflow.cs:366:13:366:20 | default: | semmle.label | no-match |
|
|
| cflow.cs:365:17:365:27 | goto ...; | cflow.cs:353:9:353:13 | Label: | semmle.label | goto(Label) |
|
|
| cflow.cs:366:13:366:20 | default: | cflow.cs:367:17:367:37 | ...; | semmle.label | successor |
|
|
| cflow.cs:367:17:367:36 | call to method WriteLine | cflow.cs:368:17:368:22 | break; | semmle.label | successor |
|
|
| cflow.cs:367:17:367:37 | ...; | cflow.cs:367:35:367:35 | 0 | semmle.label | successor |
|
|
| cflow.cs:367:35:367:35 | 0 | cflow.cs:367:17:367:36 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:368:17:368:22 | break; | cflow.cs:351:10:351:13 | exit Goto | semmle.label | break |
|
|
| cflow.cs:372:49:372:53 | enter Yield | cflow.cs:373:5:388:5 | {...} | semmle.label | successor |
|
|
| cflow.cs:373:5:388:5 | {...} | cflow.cs:374:22:374:22 | 0 | semmle.label | successor |
|
|
| cflow.cs:374:9:374:23 | yield return ...; | cflow.cs:375:9:378:9 | for (...;...;...) ... | semmle.label | successor |
|
|
| cflow.cs:374:22:374:22 | 0 | cflow.cs:374:9:374:23 | yield return ...; | semmle.label | successor |
|
|
| cflow.cs:375:9:378:9 | for (...;...;...) ... | cflow.cs:375:22:375:22 | 1 | semmle.label | successor |
|
|
| cflow.cs:375:18:375:22 | Int32 i = ... | cflow.cs:375:25:375:25 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:375:22:375:22 | 1 | cflow.cs:375:18:375:22 | Int32 i = ... | semmle.label | successor |
|
|
| cflow.cs:375:25:375:25 | access to local variable i | cflow.cs:375:29:375:30 | 10 | semmle.label | successor |
|
|
| cflow.cs:375:25:375:30 | ... < ... | cflow.cs:376:9:378:9 | {...} | semmle.label | true |
|
|
| cflow.cs:375:25:375:30 | ... < ... | cflow.cs:379:9:387:9 | try {...} ... | semmle.label | false |
|
|
| cflow.cs:375:29:375:30 | 10 | cflow.cs:375:25:375:30 | ... < ... | semmle.label | successor |
|
|
| cflow.cs:375:33:375:33 | access to local variable i | cflow.cs:375:33:375:35 | ...++ | semmle.label | successor |
|
|
| cflow.cs:375:33:375:35 | ...++ | cflow.cs:375:25:375:25 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:376:9:378:9 | {...} | cflow.cs:377:26:377:26 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:377:13:377:27 | yield return ...; | cflow.cs:375:33:375:33 | access to local variable i | semmle.label | successor |
|
|
| cflow.cs:377:26:377:26 | access to local variable i | cflow.cs:377:13:377:27 | yield return ...; | semmle.label | successor |
|
|
| cflow.cs:379:9:387:9 | try {...} ... | cflow.cs:380:9:383:9 | {...} | semmle.label | successor |
|
|
| cflow.cs:380:9:383:9 | {...} | cflow.cs:381:13:381:24 | yield break; | semmle.label | successor |
|
|
| cflow.cs:381:13:381:24 | yield break; | cflow.cs:385:9:387:9 | [finally: return] {...} | semmle.label | return |
|
|
| cflow.cs:385:9:387:9 | [finally: return] {...} | cflow.cs:386:13:386:42 | [finally: return] ...; | semmle.label | successor |
|
|
| cflow.cs:386:13:386:41 | [finally: return] call to method WriteLine | cflow.cs:372:49:372:53 | exit Yield | semmle.label | return |
|
|
| cflow.cs:386:13:386:42 | [finally: return] ...; | cflow.cs:386:31:386:40 | [finally: return] "not dead" | semmle.label | successor |
|
|
| cflow.cs:386:31:386:40 | [finally: return] "not dead" | cflow.cs:386:13:386:41 | [finally: return] call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:393:5:393:18 | enter ControlFlowSub | cflow.cs:393:24:393:27 | call to constructor ControlFlow | semmle.label | successor |
|
|
| cflow.cs:393:24:393:27 | call to constructor ControlFlow | cflow.cs:393:31:393:33 | {...} | semmle.label | successor |
|
|
| cflow.cs:393:31:393:33 | {...} | cflow.cs:393:5:393:18 | exit ControlFlowSub | semmle.label | successor |
|
|
| cflow.cs:395:5:395:18 | enter ControlFlowSub | cflow.cs:395:32:395:35 | call to constructor ControlFlowSub | semmle.label | successor |
|
|
| cflow.cs:395:32:395:35 | call to constructor ControlFlowSub | cflow.cs:395:39:395:41 | {...} | semmle.label | successor |
|
|
| cflow.cs:395:39:395:41 | {...} | cflow.cs:395:5:395:18 | exit ControlFlowSub | semmle.label | successor |
|
|
| cflow.cs:397:5:397:18 | enter ControlFlowSub | cflow.cs:397:34:397:34 | access to parameter i | semmle.label | successor |
|
|
| cflow.cs:397:29:397:32 | call to constructor ControlFlowSub | cflow.cs:397:48:397:50 | {...} | semmle.label | successor |
|
|
| cflow.cs:397:34:397:34 | access to parameter i | cflow.cs:397:34:397:45 | call to method ToString | semmle.label | successor |
|
|
| cflow.cs:397:34:397:45 | call to method ToString | cflow.cs:397:29:397:32 | call to constructor ControlFlowSub | semmle.label | successor |
|
|
| cflow.cs:397:48:397:50 | {...} | cflow.cs:397:5:397:18 | exit ControlFlowSub | semmle.label | successor |
|
|
| cflow.cs:402:10:402:10 | enter M | cflow.cs:403:5:414:5 | {...} | semmle.label | successor |
|
|
| cflow.cs:403:5:414:5 | {...} | cflow.cs:404:9:412:9 | try {...} ... | semmle.label | successor |
|
|
| cflow.cs:404:9:412:9 | try {...} ... | cflow.cs:405:9:407:9 | {...} | semmle.label | successor |
|
|
| cflow.cs:405:9:407:9 | {...} | cflow.cs:406:13:406:37 | ...; | semmle.label | successor |
|
|
| cflow.cs:406:13:406:36 | call to method WriteLine | cflow.cs:409:9:412:9 | [finally: exception(Exception)] {...} | semmle.label | exception(Exception) |
|
|
| cflow.cs:406:13:406:36 | call to method WriteLine | cflow.cs:409:9:412:9 | {...} | semmle.label | successor |
|
|
| cflow.cs:406:13:406:37 | ...; | cflow.cs:406:31:406:35 | "Try" | semmle.label | successor |
|
|
| cflow.cs:406:31:406:35 | "Try" | cflow.cs:406:13:406:36 | call to method WriteLine | semmle.label | successor |
|
|
| cflow.cs:406:31:406:35 | "Try" | cflow.cs:409:9:412:9 | [finally: exception(OutOfMemoryException)] {...} | semmle.label | exception(OutOfMemoryException) |
|
|
| cflow.cs:409:9:412:9 | [finally: exception(Exception)] {...} | cflow.cs:410:41:410:42 | [finally: exception(Exception)] "" | semmle.label | successor |
|
|
| cflow.cs:409:9:412:9 | [finally: exception(OutOfMemoryException)] {...} | cflow.cs:410:41:410:42 | [finally: exception(OutOfMemoryException)] "" | semmle.label | successor |
|
|
| cflow.cs:409:9:412:9 | {...} | cflow.cs:410:41:410:42 | "" | semmle.label | successor |
|
|
| cflow.cs:410:13:410:44 | [finally: exception(Exception)] throw ...; | cflow.cs:402:10:402:10 | exit M | semmle.label | exception(ArgumentException) |
|
|
| cflow.cs:410:13:410:44 | [finally: exception(OutOfMemoryException)] throw ...; | cflow.cs:402:10:402:10 | exit M | semmle.label | exception(ArgumentException) |
|
|
| cflow.cs:410:13:410:44 | throw ...; | cflow.cs:402:10:402:10 | exit M | semmle.label | exception(ArgumentException) |
|
|
| cflow.cs:410:19:410:43 | [finally: exception(Exception)] object creation of type ArgumentException | cflow.cs:410:13:410:44 | [finally: exception(Exception)] throw ...; | semmle.label | successor |
|
|
| cflow.cs:410:19:410:43 | [finally: exception(OutOfMemoryException)] object creation of type ArgumentException | cflow.cs:410:13:410:44 | [finally: exception(OutOfMemoryException)] throw ...; | semmle.label | successor |
|
|
| cflow.cs:410:19:410:43 | object creation of type ArgumentException | cflow.cs:410:13:410:44 | throw ...; | semmle.label | successor |
|
|
| cflow.cs:410:41:410:42 | "" | cflow.cs:410:19:410:43 | object creation of type ArgumentException | semmle.label | successor |
|
|
| cflow.cs:410:41:410:42 | [finally: exception(Exception)] "" | cflow.cs:410:19:410:43 | [finally: exception(Exception)] object creation of type ArgumentException | semmle.label | successor |
|
|
| cflow.cs:410:41:410:42 | [finally: exception(OutOfMemoryException)] "" | cflow.cs:410:19:410:43 | [finally: exception(OutOfMemoryException)] object creation of type ArgumentException | semmle.label | successor |
|
|
| cflow.cs:419:12:419:12 | enter M | cflow.cs:419:38:419:38 | access to parameter f | semmle.label | successor |
|
|
| cflow.cs:419:38:419:38 | access to parameter f | cflow.cs:419:40:419:40 | 0 | semmle.label | successor |
|
|
| cflow.cs:419:38:419:41 | delegate call | cflow.cs:419:12:419:12 | exit M | semmle.label | successor |
|
|
| cflow.cs:419:40:419:40 | 0 | cflow.cs:419:38:419:41 | delegate call | semmle.label | successor |
|
|
| cflow.cs:424:5:424:25 | enter NegationInConstructor | cflow.cs:424:52:424:54 | {...} | semmle.label | successor |
|
|
| cflow.cs:424:52:424:54 | {...} | cflow.cs:424:5:424:25 | exit NegationInConstructor | semmle.label | successor |
|
|
| cflow.cs:426:10:426:10 | enter M | cflow.cs:427:5:429:5 | {...} | semmle.label | successor |
|
|
| cflow.cs:427:5:429:5 | {...} | cflow.cs:428:9:428:73 | ...; | semmle.label | successor |
|
|
| cflow.cs:428:9:428:72 | object creation of type NegationInConstructor | cflow.cs:426:10:426:10 | exit M | semmle.label | successor |
|
|
| cflow.cs:428:9:428:73 | ...; | cflow.cs:428:38:428:38 | 0 | semmle.label | successor |
|
|
| cflow.cs:428:38:428:38 | 0 | cflow.cs:428:44:428:64 | ... && ... | semmle.label | successor |
|
|
| cflow.cs:428:44:428:51 | !... | cflow.cs:428:46:428:46 | access to parameter i | semmle.label | successor |
|
|
| cflow.cs:428:44:428:64 | ... && ... | cflow.cs:428:44:428:51 | !... | semmle.label | successor |
|
|
| cflow.cs:428:46:428:46 | access to parameter i | cflow.cs:428:50:428:50 | 0 | semmle.label | successor |
|
|
| cflow.cs:428:46:428:50 | ... > ... | cflow.cs:428:56:428:56 | access to parameter s | semmle.label | false |
|
|
| cflow.cs:428:46:428:50 | ... > ... | cflow.cs:428:70:428:71 | "" | semmle.label | true |
|
|
| cflow.cs:428:50:428:50 | 0 | cflow.cs:428:46:428:50 | ... > ... | semmle.label | successor |
|
|
| cflow.cs:428:56:428:56 | access to parameter s | cflow.cs:428:61:428:64 | null | semmle.label | successor |
|
|
| cflow.cs:428:56:428:64 | ... != ... | cflow.cs:428:70:428:71 | "" | semmle.label | successor |
|
|
| cflow.cs:428:61:428:64 | null | cflow.cs:428:56:428:64 | ... != ... | semmle.label | successor |
|
|
| cflow.cs:428:70:428:71 | "" | cflow.cs:428:9:428:72 | object creation of type NegationInConstructor | semmle.label | successor |
|