зеркало из https://github.com/github/codeql.git
C#: Add new CFG test for try/finally
This commit is contained in:
Родитель
3d32f3d173
Коммит
b9fa837963
|
@ -337,6 +337,32 @@
|
|||
| Finally.cs:189:13:191:13 | [b1 (line 176): false] {...} | Finally.cs:190:21:190:22 | [b1 (line 176): false] access to parameter b1 | 3 |
|
||||
| Finally.cs:189:13:191:13 | [finally: exception(Exception), b1 (line 176): true] {...} | Finally.cs:190:25:190:47 | [finally: exception(Exception)] throw ...; | 5 |
|
||||
| Finally.cs:189:13:191:13 | [finally: exception(ExceptionA), b1 (line 176): true] {...} | Finally.cs:190:25:190:47 | [finally: exception(ExceptionA)] throw ...; | 5 |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:199:17:199:18 | access to parameter b1 | 6 |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:195:10:195:12 | exit M10 | 1 |
|
||||
| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:205:21:205:22 | [finally: exception(ExceptionA)] access to parameter b2 | 6 |
|
||||
| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:199:27:199:42 | object creation of type ExceptionA | 1 |
|
||||
| Finally.cs:202:9:212:9 | [finally: exception(Exception)] {...} | Finally.cs:205:21:205:22 | [finally: exception(Exception)] access to parameter b2 | 5 |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:205:21:205:22 | access to parameter b2 | 5 |
|
||||
| Finally.cs:205:25:205:47 | [finally: exception(Exception)] throw ...; | Finally.cs:205:25:205:47 | [finally: exception(Exception)] throw ...; | 1 |
|
||||
| Finally.cs:205:25:205:47 | [finally: exception(ExceptionA)] throw ...; | Finally.cs:205:25:205:47 | [finally: exception(ExceptionA)] throw ...; | 1 |
|
||||
| Finally.cs:205:25:205:47 | throw ...; | Finally.cs:205:25:205:47 | throw ...; | 1 |
|
||||
| Finally.cs:205:31:205:46 | [finally: exception(Exception)] object creation of type ExceptionB | Finally.cs:205:31:205:46 | [finally: exception(Exception)] object creation of type ExceptionB | 1 |
|
||||
| Finally.cs:205:31:205:46 | [finally: exception(ExceptionA)] object creation of type ExceptionB | Finally.cs:205:31:205:46 | [finally: exception(ExceptionA)] object creation of type ExceptionB | 1 |
|
||||
| Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:205:31:205:46 | object creation of type ExceptionB | 1 |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(Exception)] {...} | Finally.cs:209:21:209:22 | [finally: exception(Exception)] access to parameter b3 | 3 |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionA)] {...} | Finally.cs:209:21:209:22 | [finally: exception(ExceptionA)] access to parameter b3 | 3 |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} | Finally.cs:209:21:209:22 | [finally: exception(ExceptionB)] access to parameter b3 | 3 |
|
||||
| Finally.cs:208:13:210:13 | {...} | Finally.cs:209:21:209:22 | access to parameter b3 | 3 |
|
||||
| Finally.cs:209:31:209:46 | [finally: exception(Exception)] object creation of type ExceptionC | Finally.cs:209:25:209:47 | [finally: exception(Exception)] throw ...; | 2 |
|
||||
| Finally.cs:209:31:209:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | Finally.cs:209:25:209:47 | [finally: exception(ExceptionA)] throw ...; | 2 |
|
||||
| Finally.cs:209:31:209:46 | [finally: exception(ExceptionB)] object creation of type ExceptionC | Finally.cs:209:25:209:47 | [finally: exception(ExceptionB)] throw ...; | 2 |
|
||||
| Finally.cs:209:31:209:46 | object creation of type ExceptionC | Finally.cs:209:25:209:47 | throw ...; | 2 |
|
||||
| Finally.cs:211:13:211:29 | ...; | Finally.cs:211:13:211:28 | ... = ... | 4 |
|
||||
| Finally.cs:211:13:211:29 | ...; | Finally.cs:211:13:211:28 | ... = ... | 4 |
|
||||
| Finally.cs:211:13:211:29 | [finally: exception(Exception)] ...; | Finally.cs:211:13:211:28 | [finally: exception(Exception)] ... = ... | 4 |
|
||||
| Finally.cs:211:13:211:29 | [finally: exception(ExceptionA)] ...; | Finally.cs:211:13:211:28 | [finally: exception(ExceptionA)] ... = ... | 4 |
|
||||
| Finally.cs:211:13:211:29 | [finally: exception(ExceptionB)] ...; | Finally.cs:211:13:211:28 | [finally: exception(ExceptionB)] ... = ... | 4 |
|
||||
| Finally.cs:213:9:213:25 | ...; | Finally.cs:213:9:213:24 | ... = ... | 4 |
|
||||
| Foreach.cs:6:10:6:11 | enter M1 | Foreach.cs:8:29:8:32 | access to parameter args | 3 |
|
||||
| Foreach.cs:6:10:6:11 | exit M1 | Foreach.cs:6:10:6:11 | exit M1 | 1 |
|
||||
| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | 1 |
|
||||
|
|
|
@ -329,6 +329,47 @@ conditionBlock
|
|||
| Finally.cs:188:13:191:13 | [exception: Exception, b1 (line 176): false, b2 (line 176): true] catch (...) {...} | Finally.cs:188:38:188:39 | [exception: Exception, b1 (line 176): false, b2 (line 176): true] access to parameter b2 | true |
|
||||
| Finally.cs:188:13:191:13 | [finally: exception(Exception), exception: Exception, b1 (line 176): true, b2 (line 176): true] catch (...) {...} | Finally.cs:188:38:188:39 | [finally: exception(Exception), exception: Exception, b1 (line 176): true, b2 (line 176): true] access to parameter b2 | true |
|
||||
| Finally.cs:188:13:191:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 176): true, b2 (line 176): true] catch (...) {...} | Finally.cs:188:38:188:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 176): true, b2 (line 176): true] access to parameter b2 | true |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:199:21:199:43 | throw ...; | true |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:199:27:199:42 | object creation of type ExceptionA | true |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:202:9:212:9 | [finally: exception(Exception)] {...} | true |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:202:9:212:9 | {...} | false |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:205:25:205:47 | [finally: exception(Exception)] throw ...; | true |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:205:25:205:47 | [finally: exception(ExceptionA)] throw ...; | true |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:205:25:205:47 | throw ...; | false |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:205:31:205:46 | [finally: exception(Exception)] object creation of type ExceptionB | true |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:205:31:205:46 | [finally: exception(ExceptionA)] object creation of type ExceptionB | true |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:205:31:205:46 | object creation of type ExceptionB | false |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:208:13:210:13 | [finally: exception(ExceptionA)] {...} | true |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:208:13:210:13 | {...} | false |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:209:31:209:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | true |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:209:31:209:46 | object creation of type ExceptionC | false |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:211:13:211:29 | ...; | false |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:211:13:211:29 | ...; | false |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:211:13:211:29 | [finally: exception(ExceptionA)] ...; | true |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:213:9:213:25 | ...; | false |
|
||||
| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:205:25:205:47 | [finally: exception(ExceptionA)] throw ...; | true |
|
||||
| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:205:31:205:46 | [finally: exception(ExceptionA)] object creation of type ExceptionB | true |
|
||||
| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:208:13:210:13 | [finally: exception(ExceptionA)] {...} | false |
|
||||
| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:209:31:209:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | false |
|
||||
| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:211:13:211:29 | [finally: exception(ExceptionA)] ...; | false |
|
||||
| Finally.cs:202:9:212:9 | [finally: exception(Exception)] {...} | Finally.cs:205:25:205:47 | [finally: exception(Exception)] throw ...; | true |
|
||||
| Finally.cs:202:9:212:9 | [finally: exception(Exception)] {...} | Finally.cs:205:31:205:46 | [finally: exception(Exception)] object creation of type ExceptionB | true |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:205:25:205:47 | throw ...; | true |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:205:31:205:46 | object creation of type ExceptionB | true |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:208:13:210:13 | {...} | false |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:209:31:209:46 | object creation of type ExceptionC | false |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:211:13:211:29 | ...; | false |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:211:13:211:29 | ...; | false |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:213:9:213:25 | ...; | false |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(Exception)] {...} | Finally.cs:209:31:209:46 | [finally: exception(Exception)] object creation of type ExceptionC | true |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(Exception)] {...} | Finally.cs:211:13:211:29 | [finally: exception(Exception)] ...; | false |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionA)] {...} | Finally.cs:209:31:209:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | true |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionA)] {...} | Finally.cs:211:13:211:29 | [finally: exception(ExceptionA)] ...; | false |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} | Finally.cs:209:31:209:46 | [finally: exception(ExceptionB)] object creation of type ExceptionC | true |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} | Finally.cs:211:13:211:29 | [finally: exception(ExceptionB)] ...; | false |
|
||||
| Finally.cs:208:13:210:13 | {...} | Finally.cs:209:31:209:46 | object creation of type ExceptionC | true |
|
||||
| Finally.cs:208:13:210:13 | {...} | Finally.cs:211:13:211:29 | ...; | false |
|
||||
| Finally.cs:208:13:210:13 | {...} | Finally.cs:211:13:211:29 | ...; | false |
|
||||
| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:6:10:6:11 | exit M1 | true |
|
||||
| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:8:22:8:24 | String arg | false |
|
||||
| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:12:10:12:11 | exit M2 | true |
|
||||
|
@ -895,6 +936,23 @@ conditionFlow
|
|||
| Finally.cs:190:21:190:22 | [b1 (line 176): false] access to parameter b1 | Finally.cs:176:10:176:11 | exit M9 | false |
|
||||
| Finally.cs:190:21:190:22 | [finally: exception(Exception), b1 (line 176): true] access to parameter b1 | Finally.cs:190:31:190:46 | [finally: exception(Exception)] object creation of type ExceptionC | true |
|
||||
| Finally.cs:190:21:190:22 | [finally: exception(ExceptionA), b1 (line 176): true] access to parameter b1 | Finally.cs:190:31:190:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | true |
|
||||
| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:199:27:199:42 | object creation of type ExceptionA | true |
|
||||
| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:202:9:212:9 | {...} | false |
|
||||
| Finally.cs:205:21:205:22 | [finally: exception(Exception)] access to parameter b2 | Finally.cs:205:31:205:46 | [finally: exception(Exception)] object creation of type ExceptionB | true |
|
||||
| Finally.cs:205:21:205:22 | [finally: exception(Exception)] access to parameter b2 | Finally.cs:208:13:210:13 | [finally: exception(Exception)] {...} | false |
|
||||
| Finally.cs:205:21:205:22 | [finally: exception(ExceptionA)] access to parameter b2 | Finally.cs:205:31:205:46 | [finally: exception(ExceptionA)] object creation of type ExceptionB | true |
|
||||
| Finally.cs:205:21:205:22 | [finally: exception(ExceptionA)] access to parameter b2 | Finally.cs:208:13:210:13 | [finally: exception(ExceptionA)] {...} | false |
|
||||
| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:205:31:205:46 | object creation of type ExceptionB | true |
|
||||
| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:208:13:210:13 | {...} | false |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(Exception)] access to parameter b3 | Finally.cs:209:31:209:46 | [finally: exception(Exception)] object creation of type ExceptionC | true |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(Exception)] access to parameter b3 | Finally.cs:211:13:211:29 | [finally: exception(Exception)] ...; | false |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(ExceptionA)] access to parameter b3 | Finally.cs:209:31:209:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | true |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(ExceptionA)] access to parameter b3 | Finally.cs:211:13:211:29 | [finally: exception(ExceptionA)] ...; | false |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(ExceptionB)] access to parameter b3 | Finally.cs:209:31:209:46 | [finally: exception(ExceptionB)] object creation of type ExceptionC | true |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(ExceptionB)] access to parameter b3 | Finally.cs:211:13:211:29 | [finally: exception(ExceptionB)] ...; | false |
|
||||
| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:209:31:209:46 | object creation of type ExceptionC | true |
|
||||
| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:211:13:211:29 | ...; | false |
|
||||
| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:211:13:211:29 | ...; | false |
|
||||
| LoopUnrolling.cs:9:13:9:28 | ... == ... | LoopUnrolling.cs:10:13:10:19 | return ...; | true |
|
||||
| LoopUnrolling.cs:9:13:9:28 | ... == ... | LoopUnrolling.cs:11:28:11:31 | access to parameter args | false |
|
||||
| LoopUnrolling.cs:60:17:60:17 | [b (line 55): false] access to parameter b | LoopUnrolling.cs:62:13:63:37 | [b (line 55): false] if (...) ... | false |
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
preBasicBlockConsistency
|
||||
nonUniqueSetRepresentation
|
||||
breakInvariant2
|
||||
| Finally.cs:209:21:209:22 | access to parameter b3 | | Finally.cs:211:13:211:29 | ...; | | | false |
|
||||
breakInvariant3
|
||||
| Finally.cs:205:31:205:46 | object creation of type ExceptionB | finally: exception(Exception) | Finally.cs:208:13:210:13 | {...} | finally: exception(Exception) | finally: exception(Exception) | throw(Exception) |
|
||||
| Finally.cs:209:21:209:22 | access to parameter b3 | | Finally.cs:211:13:211:29 | ...; | | | false |
|
||||
breakInvariant4
|
||||
breakInvariant5
|
||||
| Finally.cs:205:31:205:46 | object creation of type ExceptionB | finally: exception(Exception) | Finally.cs:208:13:210:13 | {...} | finally: exception(Exception) | finally: exception(Exception) | throw(Exception) |
|
||||
|
|
|
@ -1519,6 +1519,75 @@ dominance
|
|||
| Finally.cs:190:21:190:22 | [finally: exception(ExceptionA), b1 (line 176): true] access to parameter b1 | Finally.cs:190:31:190:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC |
|
||||
| Finally.cs:190:31:190:46 | [finally: exception(Exception)] object creation of type ExceptionC | Finally.cs:190:25:190:47 | [finally: exception(Exception)] throw ...; |
|
||||
| Finally.cs:190:31:190:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | Finally.cs:190:25:190:47 | [finally: exception(ExceptionA)] throw ...; |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:196:5:214:5 | {...} |
|
||||
| Finally.cs:196:5:214:5 | {...} | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:197:9:212:9 | try {...} ... | Finally.cs:198:9:200:9 | {...} |
|
||||
| Finally.cs:198:9:200:9 | {...} | Finally.cs:199:13:199:43 | if (...) ... |
|
||||
| Finally.cs:199:13:199:43 | if (...) ... | Finally.cs:199:17:199:18 | access to parameter b1 |
|
||||
| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:199:27:199:42 | object creation of type ExceptionA |
|
||||
| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:202:9:212:9 | {...} |
|
||||
| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:202:9:212:9 | [finally: exception(ExceptionA)] {...} |
|
||||
| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:199:21:199:43 | throw ...; |
|
||||
| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:202:9:212:9 | [finally: exception(Exception)] {...} |
|
||||
| Finally.cs:202:9:212:9 | [finally: exception(Exception)] {...} | Finally.cs:203:13:210:13 | [finally: exception(Exception)] try {...} ... |
|
||||
| Finally.cs:202:9:212:9 | [finally: exception(ExceptionA)] {...} | Finally.cs:203:13:210:13 | [finally: exception(ExceptionA)] try {...} ... |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:203:13:210:13 | try {...} ... |
|
||||
| Finally.cs:203:13:210:13 | [finally: exception(Exception)] try {...} ... | Finally.cs:204:13:206:13 | [finally: exception(Exception)] {...} |
|
||||
| Finally.cs:203:13:210:13 | [finally: exception(ExceptionA)] try {...} ... | Finally.cs:204:13:206:13 | [finally: exception(ExceptionA)] {...} |
|
||||
| Finally.cs:203:13:210:13 | try {...} ... | Finally.cs:204:13:206:13 | {...} |
|
||||
| Finally.cs:204:13:206:13 | [finally: exception(Exception)] {...} | Finally.cs:205:17:205:47 | [finally: exception(Exception)] if (...) ... |
|
||||
| Finally.cs:204:13:206:13 | [finally: exception(ExceptionA)] {...} | Finally.cs:205:17:205:47 | [finally: exception(ExceptionA)] if (...) ... |
|
||||
| Finally.cs:204:13:206:13 | {...} | Finally.cs:205:17:205:47 | if (...) ... |
|
||||
| Finally.cs:205:17:205:47 | [finally: exception(Exception)] if (...) ... | Finally.cs:205:21:205:22 | [finally: exception(Exception)] access to parameter b2 |
|
||||
| Finally.cs:205:17:205:47 | [finally: exception(ExceptionA)] if (...) ... | Finally.cs:205:21:205:22 | [finally: exception(ExceptionA)] access to parameter b2 |
|
||||
| Finally.cs:205:17:205:47 | if (...) ... | Finally.cs:205:21:205:22 | access to parameter b2 |
|
||||
| Finally.cs:205:21:205:22 | [finally: exception(Exception)] access to parameter b2 | Finally.cs:205:31:205:46 | [finally: exception(Exception)] object creation of type ExceptionB |
|
||||
| Finally.cs:205:21:205:22 | [finally: exception(ExceptionA)] access to parameter b2 | Finally.cs:205:31:205:46 | [finally: exception(ExceptionA)] object creation of type ExceptionB |
|
||||
| Finally.cs:205:21:205:22 | [finally: exception(ExceptionA)] access to parameter b2 | Finally.cs:208:13:210:13 | [finally: exception(ExceptionA)] {...} |
|
||||
| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:205:31:205:46 | object creation of type ExceptionB |
|
||||
| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:208:13:210:13 | {...} |
|
||||
| Finally.cs:205:31:205:46 | [finally: exception(Exception)] object creation of type ExceptionB | Finally.cs:205:25:205:47 | [finally: exception(Exception)] throw ...; |
|
||||
| Finally.cs:205:31:205:46 | [finally: exception(ExceptionA)] object creation of type ExceptionB | Finally.cs:205:25:205:47 | [finally: exception(ExceptionA)] throw ...; |
|
||||
| Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:205:25:205:47 | throw ...; |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(Exception)] {...} | Finally.cs:209:17:209:47 | [finally: exception(Exception)] if (...) ... |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionA)] {...} | Finally.cs:209:17:209:47 | [finally: exception(ExceptionA)] if (...) ... |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} | Finally.cs:209:17:209:47 | [finally: exception(ExceptionB)] if (...) ... |
|
||||
| Finally.cs:208:13:210:13 | {...} | Finally.cs:209:17:209:47 | if (...) ... |
|
||||
| Finally.cs:209:17:209:47 | [finally: exception(Exception)] if (...) ... | Finally.cs:209:21:209:22 | [finally: exception(Exception)] access to parameter b3 |
|
||||
| Finally.cs:209:17:209:47 | [finally: exception(ExceptionA)] if (...) ... | Finally.cs:209:21:209:22 | [finally: exception(ExceptionA)] access to parameter b3 |
|
||||
| Finally.cs:209:17:209:47 | [finally: exception(ExceptionB)] if (...) ... | Finally.cs:209:21:209:22 | [finally: exception(ExceptionB)] access to parameter b3 |
|
||||
| Finally.cs:209:17:209:47 | if (...) ... | Finally.cs:209:21:209:22 | access to parameter b3 |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(Exception)] access to parameter b3 | Finally.cs:209:31:209:46 | [finally: exception(Exception)] object creation of type ExceptionC |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(Exception)] access to parameter b3 | Finally.cs:211:13:211:29 | [finally: exception(Exception)] ...; |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(ExceptionA)] access to parameter b3 | Finally.cs:209:31:209:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(ExceptionA)] access to parameter b3 | Finally.cs:211:13:211:29 | [finally: exception(ExceptionA)] ...; |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(ExceptionB)] access to parameter b3 | Finally.cs:209:31:209:46 | [finally: exception(ExceptionB)] object creation of type ExceptionC |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(ExceptionB)] access to parameter b3 | Finally.cs:211:13:211:29 | [finally: exception(ExceptionB)] ...; |
|
||||
| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:209:31:209:46 | object creation of type ExceptionC |
|
||||
| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:211:13:211:29 | ...; |
|
||||
| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:211:13:211:29 | ...; |
|
||||
| Finally.cs:209:31:209:46 | [finally: exception(Exception)] object creation of type ExceptionC | Finally.cs:209:25:209:47 | [finally: exception(Exception)] throw ...; |
|
||||
| Finally.cs:209:31:209:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | Finally.cs:209:25:209:47 | [finally: exception(ExceptionA)] throw ...; |
|
||||
| Finally.cs:209:31:209:46 | [finally: exception(ExceptionB)] object creation of type ExceptionC | Finally.cs:209:25:209:47 | [finally: exception(ExceptionB)] throw ...; |
|
||||
| Finally.cs:209:31:209:46 | object creation of type ExceptionC | Finally.cs:209:25:209:47 | throw ...; |
|
||||
| Finally.cs:211:13:211:16 | [finally: exception(Exception)] this access | Finally.cs:211:26:211:28 | [finally: exception(Exception)] "0" |
|
||||
| Finally.cs:211:13:211:16 | [finally: exception(ExceptionA)] this access | Finally.cs:211:26:211:28 | [finally: exception(ExceptionA)] "0" |
|
||||
| Finally.cs:211:13:211:16 | [finally: exception(ExceptionB)] this access | Finally.cs:211:26:211:28 | [finally: exception(ExceptionB)] "0" |
|
||||
| Finally.cs:211:13:211:16 | this access | Finally.cs:211:26:211:28 | "0" |
|
||||
| Finally.cs:211:13:211:16 | this access | Finally.cs:211:26:211:28 | "0" |
|
||||
| Finally.cs:211:13:211:29 | ...; | Finally.cs:211:13:211:16 | this access |
|
||||
| Finally.cs:211:13:211:29 | ...; | Finally.cs:211:13:211:16 | this access |
|
||||
| Finally.cs:211:13:211:29 | [finally: exception(Exception)] ...; | Finally.cs:211:13:211:16 | [finally: exception(Exception)] this access |
|
||||
| Finally.cs:211:13:211:29 | [finally: exception(ExceptionA)] ...; | Finally.cs:211:13:211:16 | [finally: exception(ExceptionA)] this access |
|
||||
| Finally.cs:211:13:211:29 | [finally: exception(ExceptionB)] ...; | Finally.cs:211:13:211:16 | [finally: exception(ExceptionB)] this access |
|
||||
| Finally.cs:211:26:211:28 | "0" | Finally.cs:211:13:211:28 | ... = ... |
|
||||
| Finally.cs:211:26:211:28 | "0" | Finally.cs:211:13:211:28 | ... = ... |
|
||||
| Finally.cs:211:26:211:28 | [finally: exception(Exception)] "0" | Finally.cs:211:13:211:28 | [finally: exception(Exception)] ... = ... |
|
||||
| Finally.cs:211:26:211:28 | [finally: exception(ExceptionA)] "0" | Finally.cs:211:13:211:28 | [finally: exception(ExceptionA)] ... = ... |
|
||||
| Finally.cs:211:26:211:28 | [finally: exception(ExceptionB)] "0" | Finally.cs:211:13:211:28 | [finally: exception(ExceptionB)] ... = ... |
|
||||
| Finally.cs:213:9:213:12 | this access | Finally.cs:213:22:213:24 | "1" |
|
||||
| Finally.cs:213:9:213:25 | ...; | Finally.cs:213:9:213:12 | this access |
|
||||
| Finally.cs:213:22:213:24 | "1" | Finally.cs:213:9:213:24 | ... = ... |
|
||||
| Foreach.cs:6:10:6:11 | enter M1 | Foreach.cs:7:5:10:5 | {...} |
|
||||
| Foreach.cs:7:5:10:5 | {...} | Foreach.cs:8:29:8:32 | access to parameter args |
|
||||
| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:6:10:6:11 | exit M1 |
|
||||
|
@ -4292,6 +4361,68 @@ postDominance
|
|||
| Finally.cs:190:25:190:47 | [finally: exception(ExceptionA)] throw ...; | Finally.cs:190:31:190:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC |
|
||||
| Finally.cs:190:31:190:46 | [finally: exception(Exception)] object creation of type ExceptionC | Finally.cs:190:21:190:22 | [finally: exception(Exception), b1 (line 176): true] access to parameter b1 |
|
||||
| Finally.cs:190:31:190:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | Finally.cs:190:21:190:22 | [finally: exception(ExceptionA), b1 (line 176): true] access to parameter b1 |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:209:21:209:22 | [finally: exception(Exception)] access to parameter b3 |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:209:21:209:22 | [finally: exception(ExceptionB)] access to parameter b3 |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:209:25:209:47 | [finally: exception(Exception)] throw ...; |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:209:25:209:47 | [finally: exception(ExceptionA)] throw ...; |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:209:25:209:47 | [finally: exception(ExceptionB)] throw ...; |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:209:25:209:47 | throw ...; |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:211:13:211:28 | ... = ... |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:211:13:211:28 | [finally: exception(Exception)] ... = ... |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:211:13:211:28 | [finally: exception(ExceptionA)] ... = ... |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:213:9:213:24 | ... = ... |
|
||||
| Finally.cs:196:5:214:5 | {...} | Finally.cs:195:10:195:12 | enter M10 |
|
||||
| Finally.cs:197:9:212:9 | try {...} ... | Finally.cs:196:5:214:5 | {...} |
|
||||
| Finally.cs:198:9:200:9 | {...} | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:199:13:199:43 | if (...) ... | Finally.cs:198:9:200:9 | {...} |
|
||||
| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:199:13:199:43 | if (...) ... |
|
||||
| Finally.cs:202:9:212:9 | [finally: exception(ExceptionA)] {...} | Finally.cs:199:21:199:43 | throw ...; |
|
||||
| Finally.cs:203:13:210:13 | [finally: exception(Exception)] try {...} ... | Finally.cs:202:9:212:9 | [finally: exception(Exception)] {...} |
|
||||
| Finally.cs:203:13:210:13 | [finally: exception(ExceptionA)] try {...} ... | Finally.cs:202:9:212:9 | [finally: exception(ExceptionA)] {...} |
|
||||
| Finally.cs:203:13:210:13 | try {...} ... | Finally.cs:202:9:212:9 | {...} |
|
||||
| Finally.cs:204:13:206:13 | [finally: exception(Exception)] {...} | Finally.cs:203:13:210:13 | [finally: exception(Exception)] try {...} ... |
|
||||
| Finally.cs:204:13:206:13 | [finally: exception(ExceptionA)] {...} | Finally.cs:203:13:210:13 | [finally: exception(ExceptionA)] try {...} ... |
|
||||
| Finally.cs:204:13:206:13 | {...} | Finally.cs:203:13:210:13 | try {...} ... |
|
||||
| Finally.cs:205:17:205:47 | [finally: exception(Exception)] if (...) ... | Finally.cs:204:13:206:13 | [finally: exception(Exception)] {...} |
|
||||
| Finally.cs:205:17:205:47 | [finally: exception(ExceptionA)] if (...) ... | Finally.cs:204:13:206:13 | [finally: exception(ExceptionA)] {...} |
|
||||
| Finally.cs:205:17:205:47 | if (...) ... | Finally.cs:204:13:206:13 | {...} |
|
||||
| Finally.cs:205:21:205:22 | [finally: exception(Exception)] access to parameter b2 | Finally.cs:205:17:205:47 | [finally: exception(Exception)] if (...) ... |
|
||||
| Finally.cs:205:21:205:22 | [finally: exception(ExceptionA)] access to parameter b2 | Finally.cs:205:17:205:47 | [finally: exception(ExceptionA)] if (...) ... |
|
||||
| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:205:17:205:47 | if (...) ... |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} | Finally.cs:205:25:205:47 | [finally: exception(Exception)] throw ...; |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} | Finally.cs:205:25:205:47 | [finally: exception(ExceptionA)] throw ...; |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} | Finally.cs:205:25:205:47 | throw ...; |
|
||||
| Finally.cs:209:17:209:47 | [finally: exception(Exception)] if (...) ... | Finally.cs:208:13:210:13 | [finally: exception(Exception)] {...} |
|
||||
| Finally.cs:209:17:209:47 | [finally: exception(ExceptionA)] if (...) ... | Finally.cs:208:13:210:13 | [finally: exception(ExceptionA)] {...} |
|
||||
| Finally.cs:209:17:209:47 | [finally: exception(ExceptionB)] if (...) ... | Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} |
|
||||
| Finally.cs:209:17:209:47 | if (...) ... | Finally.cs:208:13:210:13 | {...} |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(Exception)] access to parameter b3 | Finally.cs:209:17:209:47 | [finally: exception(Exception)] if (...) ... |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(ExceptionA)] access to parameter b3 | Finally.cs:209:17:209:47 | [finally: exception(ExceptionA)] if (...) ... |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(ExceptionB)] access to parameter b3 | Finally.cs:209:17:209:47 | [finally: exception(ExceptionB)] if (...) ... |
|
||||
| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:209:17:209:47 | if (...) ... |
|
||||
| Finally.cs:209:25:209:47 | [finally: exception(Exception)] throw ...; | Finally.cs:209:31:209:46 | [finally: exception(Exception)] object creation of type ExceptionC |
|
||||
| Finally.cs:209:25:209:47 | [finally: exception(ExceptionA)] throw ...; | Finally.cs:209:31:209:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC |
|
||||
| Finally.cs:209:25:209:47 | [finally: exception(ExceptionB)] throw ...; | Finally.cs:209:31:209:46 | [finally: exception(ExceptionB)] object creation of type ExceptionC |
|
||||
| Finally.cs:209:25:209:47 | throw ...; | Finally.cs:209:31:209:46 | object creation of type ExceptionC |
|
||||
| Finally.cs:211:13:211:16 | [finally: exception(Exception)] this access | Finally.cs:211:13:211:29 | [finally: exception(Exception)] ...; |
|
||||
| Finally.cs:211:13:211:16 | [finally: exception(ExceptionA)] this access | Finally.cs:211:13:211:29 | [finally: exception(ExceptionA)] ...; |
|
||||
| Finally.cs:211:13:211:16 | [finally: exception(ExceptionB)] this access | Finally.cs:211:13:211:29 | [finally: exception(ExceptionB)] ...; |
|
||||
| Finally.cs:211:13:211:16 | this access | Finally.cs:211:13:211:29 | ...; |
|
||||
| Finally.cs:211:13:211:16 | this access | Finally.cs:211:13:211:29 | ...; |
|
||||
| Finally.cs:211:13:211:28 | ... = ... | Finally.cs:211:26:211:28 | "0" |
|
||||
| Finally.cs:211:13:211:28 | ... = ... | Finally.cs:211:26:211:28 | "0" |
|
||||
| Finally.cs:211:13:211:28 | [finally: exception(Exception)] ... = ... | Finally.cs:211:26:211:28 | [finally: exception(Exception)] "0" |
|
||||
| Finally.cs:211:13:211:28 | [finally: exception(ExceptionA)] ... = ... | Finally.cs:211:26:211:28 | [finally: exception(ExceptionA)] "0" |
|
||||
| Finally.cs:211:13:211:28 | [finally: exception(ExceptionB)] ... = ... | Finally.cs:211:26:211:28 | [finally: exception(ExceptionB)] "0" |
|
||||
| Finally.cs:211:26:211:28 | "0" | Finally.cs:211:13:211:16 | this access |
|
||||
| Finally.cs:211:26:211:28 | "0" | Finally.cs:211:13:211:16 | this access |
|
||||
| Finally.cs:211:26:211:28 | [finally: exception(Exception)] "0" | Finally.cs:211:13:211:16 | [finally: exception(Exception)] this access |
|
||||
| Finally.cs:211:26:211:28 | [finally: exception(ExceptionA)] "0" | Finally.cs:211:13:211:16 | [finally: exception(ExceptionA)] this access |
|
||||
| Finally.cs:211:26:211:28 | [finally: exception(ExceptionB)] "0" | Finally.cs:211:13:211:16 | [finally: exception(ExceptionB)] this access |
|
||||
| Finally.cs:213:9:213:12 | this access | Finally.cs:213:9:213:25 | ...; |
|
||||
| Finally.cs:213:9:213:24 | ... = ... | Finally.cs:213:22:213:24 | "1" |
|
||||
| Finally.cs:213:9:213:25 | ...; | Finally.cs:211:13:211:28 | ... = ... |
|
||||
| Finally.cs:213:22:213:24 | "1" | Finally.cs:213:9:213:12 | this access |
|
||||
| Foreach.cs:6:10:6:11 | exit M1 | Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... |
|
||||
| Foreach.cs:7:5:10:5 | {...} | Foreach.cs:6:10:6:11 | enter M1 |
|
||||
| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:8:29:8:32 | access to parameter args |
|
||||
|
@ -6542,6 +6673,93 @@ blockDominance
|
|||
| Finally.cs:189:13:191:13 | [b1 (line 176): false] {...} | Finally.cs:189:13:191:13 | [b1 (line 176): false] {...} |
|
||||
| Finally.cs:189:13:191:13 | [finally: exception(Exception), b1 (line 176): true] {...} | Finally.cs:189:13:191:13 | [finally: exception(Exception), b1 (line 176): true] {...} |
|
||||
| Finally.cs:189:13:191:13 | [finally: exception(ExceptionA), b1 (line 176): true] {...} | Finally.cs:189:13:191:13 | [finally: exception(ExceptionA), b1 (line 176): true] {...} |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:195:10:195:12 | enter M10 |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:195:10:195:12 | exit M10 |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:199:21:199:43 | throw ...; |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:199:27:199:42 | object creation of type ExceptionA |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:202:9:212:9 | [finally: exception(Exception)] {...} |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:202:9:212:9 | {...} |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:205:25:205:47 | [finally: exception(Exception)] throw ...; |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:205:25:205:47 | [finally: exception(ExceptionA)] throw ...; |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:205:25:205:47 | throw ...; |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:205:31:205:46 | [finally: exception(Exception)] object creation of type ExceptionB |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:205:31:205:46 | [finally: exception(ExceptionA)] object creation of type ExceptionB |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:205:31:205:46 | object creation of type ExceptionB |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:208:13:210:13 | [finally: exception(Exception)] {...} |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:208:13:210:13 | [finally: exception(ExceptionA)] {...} |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:208:13:210:13 | {...} |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:209:31:209:46 | [finally: exception(Exception)] object creation of type ExceptionC |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:209:31:209:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:209:31:209:46 | [finally: exception(ExceptionB)] object creation of type ExceptionC |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:209:31:209:46 | object creation of type ExceptionC |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:211:13:211:29 | ...; |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:211:13:211:29 | ...; |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:211:13:211:29 | [finally: exception(Exception)] ...; |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:211:13:211:29 | [finally: exception(ExceptionA)] ...; |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:211:13:211:29 | [finally: exception(ExceptionB)] ...; |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:213:9:213:25 | ...; |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:195:10:195:12 | exit M10 |
|
||||
| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:199:21:199:43 | throw ...; |
|
||||
| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:205:25:205:47 | [finally: exception(ExceptionA)] throw ...; |
|
||||
| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:205:31:205:46 | [finally: exception(ExceptionA)] object creation of type ExceptionB |
|
||||
| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:208:13:210:13 | [finally: exception(ExceptionA)] {...} |
|
||||
| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:209:31:209:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC |
|
||||
| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:211:13:211:29 | [finally: exception(ExceptionA)] ...; |
|
||||
| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:199:21:199:43 | throw ...; |
|
||||
| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:199:27:199:42 | object creation of type ExceptionA |
|
||||
| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:202:9:212:9 | [finally: exception(Exception)] {...} |
|
||||
| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:205:25:205:47 | [finally: exception(Exception)] throw ...; |
|
||||
| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:205:25:205:47 | [finally: exception(ExceptionA)] throw ...; |
|
||||
| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:205:31:205:46 | [finally: exception(Exception)] object creation of type ExceptionB |
|
||||
| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:205:31:205:46 | [finally: exception(ExceptionA)] object creation of type ExceptionB |
|
||||
| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:208:13:210:13 | [finally: exception(ExceptionA)] {...} |
|
||||
| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:209:31:209:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC |
|
||||
| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:211:13:211:29 | [finally: exception(ExceptionA)] ...; |
|
||||
| Finally.cs:202:9:212:9 | [finally: exception(Exception)] {...} | Finally.cs:202:9:212:9 | [finally: exception(Exception)] {...} |
|
||||
| Finally.cs:202:9:212:9 | [finally: exception(Exception)] {...} | Finally.cs:205:25:205:47 | [finally: exception(Exception)] throw ...; |
|
||||
| Finally.cs:202:9:212:9 | [finally: exception(Exception)] {...} | Finally.cs:205:31:205:46 | [finally: exception(Exception)] object creation of type ExceptionB |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:202:9:212:9 | {...} |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:205:25:205:47 | throw ...; |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:205:31:205:46 | object creation of type ExceptionB |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:208:13:210:13 | {...} |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:209:31:209:46 | object creation of type ExceptionC |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:211:13:211:29 | ...; |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:211:13:211:29 | ...; |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:213:9:213:25 | ...; |
|
||||
| Finally.cs:205:25:205:47 | [finally: exception(Exception)] throw ...; | Finally.cs:205:25:205:47 | [finally: exception(Exception)] throw ...; |
|
||||
| Finally.cs:205:25:205:47 | [finally: exception(ExceptionA)] throw ...; | Finally.cs:205:25:205:47 | [finally: exception(ExceptionA)] throw ...; |
|
||||
| Finally.cs:205:25:205:47 | throw ...; | Finally.cs:205:25:205:47 | throw ...; |
|
||||
| Finally.cs:205:31:205:46 | [finally: exception(Exception)] object creation of type ExceptionB | Finally.cs:205:25:205:47 | [finally: exception(Exception)] throw ...; |
|
||||
| Finally.cs:205:31:205:46 | [finally: exception(Exception)] object creation of type ExceptionB | Finally.cs:205:31:205:46 | [finally: exception(Exception)] object creation of type ExceptionB |
|
||||
| Finally.cs:205:31:205:46 | [finally: exception(ExceptionA)] object creation of type ExceptionB | Finally.cs:205:25:205:47 | [finally: exception(ExceptionA)] throw ...; |
|
||||
| Finally.cs:205:31:205:46 | [finally: exception(ExceptionA)] object creation of type ExceptionB | Finally.cs:205:31:205:46 | [finally: exception(ExceptionA)] object creation of type ExceptionB |
|
||||
| Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:205:25:205:47 | throw ...; |
|
||||
| Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:205:31:205:46 | object creation of type ExceptionB |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(Exception)] {...} | Finally.cs:208:13:210:13 | [finally: exception(Exception)] {...} |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(Exception)] {...} | Finally.cs:209:31:209:46 | [finally: exception(Exception)] object creation of type ExceptionC |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(Exception)] {...} | Finally.cs:211:13:211:29 | [finally: exception(Exception)] ...; |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionA)] {...} | Finally.cs:208:13:210:13 | [finally: exception(ExceptionA)] {...} |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionA)] {...} | Finally.cs:209:31:209:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionA)] {...} | Finally.cs:211:13:211:29 | [finally: exception(ExceptionA)] ...; |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} | Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} | Finally.cs:209:31:209:46 | [finally: exception(ExceptionB)] object creation of type ExceptionC |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} | Finally.cs:211:13:211:29 | [finally: exception(ExceptionB)] ...; |
|
||||
| Finally.cs:208:13:210:13 | {...} | Finally.cs:208:13:210:13 | {...} |
|
||||
| Finally.cs:208:13:210:13 | {...} | Finally.cs:209:31:209:46 | object creation of type ExceptionC |
|
||||
| Finally.cs:208:13:210:13 | {...} | Finally.cs:211:13:211:29 | ...; |
|
||||
| Finally.cs:208:13:210:13 | {...} | Finally.cs:211:13:211:29 | ...; |
|
||||
| Finally.cs:208:13:210:13 | {...} | Finally.cs:213:9:213:25 | ...; |
|
||||
| Finally.cs:209:31:209:46 | [finally: exception(Exception)] object creation of type ExceptionC | Finally.cs:209:31:209:46 | [finally: exception(Exception)] object creation of type ExceptionC |
|
||||
| Finally.cs:209:31:209:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | Finally.cs:209:31:209:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC |
|
||||
| Finally.cs:209:31:209:46 | [finally: exception(ExceptionB)] object creation of type ExceptionC | Finally.cs:209:31:209:46 | [finally: exception(ExceptionB)] object creation of type ExceptionC |
|
||||
| Finally.cs:209:31:209:46 | object creation of type ExceptionC | Finally.cs:209:31:209:46 | object creation of type ExceptionC |
|
||||
| Finally.cs:211:13:211:29 | ...; | Finally.cs:211:13:211:29 | ...; |
|
||||
| Finally.cs:211:13:211:29 | ...; | Finally.cs:211:13:211:29 | ...; |
|
||||
| Finally.cs:211:13:211:29 | [finally: exception(Exception)] ...; | Finally.cs:211:13:211:29 | [finally: exception(Exception)] ...; |
|
||||
| Finally.cs:211:13:211:29 | [finally: exception(ExceptionA)] ...; | Finally.cs:211:13:211:29 | [finally: exception(ExceptionA)] ...; |
|
||||
| Finally.cs:211:13:211:29 | [finally: exception(ExceptionB)] ...; | Finally.cs:211:13:211:29 | [finally: exception(ExceptionB)] ...; |
|
||||
| Finally.cs:213:9:213:25 | ...; | Finally.cs:213:9:213:25 | ...; |
|
||||
| Foreach.cs:6:10:6:11 | enter M1 | Foreach.cs:6:10:6:11 | enter M1 |
|
||||
| Foreach.cs:6:10:6:11 | enter M1 | Foreach.cs:6:10:6:11 | exit M1 |
|
||||
| Foreach.cs:6:10:6:11 | enter M1 | Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... |
|
||||
|
@ -8255,6 +8473,60 @@ postBlockDominance
|
|||
| Finally.cs:189:13:191:13 | [finally: exception(ExceptionA), b1 (line 176): true] {...} | Finally.cs:186:25:186:47 | [finally: exception(ExceptionA), b1 (line 176): true, b2 (line 176): true] throw ...; |
|
||||
| Finally.cs:189:13:191:13 | [finally: exception(ExceptionA), b1 (line 176): true] {...} | Finally.cs:188:38:188:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 176): true, b2 (line 176): true] access to parameter b2 |
|
||||
| Finally.cs:189:13:191:13 | [finally: exception(ExceptionA), b1 (line 176): true] {...} | Finally.cs:189:13:191:13 | [finally: exception(ExceptionA), b1 (line 176): true] {...} |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:195:10:195:12 | enter M10 |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:195:10:195:12 | enter M10 |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:195:10:195:12 | exit M10 |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:199:21:199:43 | throw ...; |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:199:27:199:42 | object creation of type ExceptionA |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:202:9:212:9 | [finally: exception(Exception)] {...} |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:202:9:212:9 | {...} |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:205:25:205:47 | [finally: exception(Exception)] throw ...; |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:205:25:205:47 | [finally: exception(ExceptionA)] throw ...; |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:205:25:205:47 | throw ...; |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:205:31:205:46 | [finally: exception(Exception)] object creation of type ExceptionB |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:205:31:205:46 | [finally: exception(ExceptionA)] object creation of type ExceptionB |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:205:31:205:46 | object creation of type ExceptionB |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:208:13:210:13 | [finally: exception(Exception)] {...} |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:208:13:210:13 | [finally: exception(ExceptionA)] {...} |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:208:13:210:13 | {...} |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:209:31:209:46 | [finally: exception(Exception)] object creation of type ExceptionC |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:209:31:209:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:209:31:209:46 | [finally: exception(ExceptionB)] object creation of type ExceptionC |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:209:31:209:46 | object creation of type ExceptionC |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:211:13:211:29 | ...; |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:211:13:211:29 | ...; |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:211:13:211:29 | [finally: exception(Exception)] ...; |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:211:13:211:29 | [finally: exception(ExceptionA)] ...; |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:213:9:213:25 | ...; |
|
||||
| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:199:21:199:43 | throw ...; |
|
||||
| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:199:27:199:42 | object creation of type ExceptionA |
|
||||
| Finally.cs:202:9:212:9 | [finally: exception(Exception)] {...} | Finally.cs:202:9:212:9 | [finally: exception(Exception)] {...} |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:202:9:212:9 | {...} |
|
||||
| Finally.cs:205:25:205:47 | [finally: exception(Exception)] throw ...; | Finally.cs:205:25:205:47 | [finally: exception(Exception)] throw ...; |
|
||||
| Finally.cs:205:25:205:47 | [finally: exception(ExceptionA)] throw ...; | Finally.cs:205:25:205:47 | [finally: exception(ExceptionA)] throw ...; |
|
||||
| Finally.cs:205:25:205:47 | throw ...; | Finally.cs:205:25:205:47 | throw ...; |
|
||||
| Finally.cs:205:31:205:46 | [finally: exception(Exception)] object creation of type ExceptionB | Finally.cs:205:31:205:46 | [finally: exception(Exception)] object creation of type ExceptionB |
|
||||
| Finally.cs:205:31:205:46 | [finally: exception(ExceptionA)] object creation of type ExceptionB | Finally.cs:205:31:205:46 | [finally: exception(ExceptionA)] object creation of type ExceptionB |
|
||||
| Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:205:31:205:46 | object creation of type ExceptionB |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(Exception)] {...} | Finally.cs:208:13:210:13 | [finally: exception(Exception)] {...} |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionA)] {...} | Finally.cs:208:13:210:13 | [finally: exception(ExceptionA)] {...} |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} | Finally.cs:205:25:205:47 | [finally: exception(Exception)] throw ...; |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} | Finally.cs:205:25:205:47 | [finally: exception(ExceptionA)] throw ...; |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} | Finally.cs:205:25:205:47 | throw ...; |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} | Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} |
|
||||
| Finally.cs:208:13:210:13 | {...} | Finally.cs:208:13:210:13 | {...} |
|
||||
| Finally.cs:209:31:209:46 | [finally: exception(Exception)] object creation of type ExceptionC | Finally.cs:209:31:209:46 | [finally: exception(Exception)] object creation of type ExceptionC |
|
||||
| Finally.cs:209:31:209:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | Finally.cs:209:31:209:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC |
|
||||
| Finally.cs:209:31:209:46 | [finally: exception(ExceptionB)] object creation of type ExceptionC | Finally.cs:209:31:209:46 | [finally: exception(ExceptionB)] object creation of type ExceptionC |
|
||||
| Finally.cs:209:31:209:46 | object creation of type ExceptionC | Finally.cs:209:31:209:46 | object creation of type ExceptionC |
|
||||
| Finally.cs:211:13:211:29 | ...; | Finally.cs:211:13:211:29 | ...; |
|
||||
| Finally.cs:211:13:211:29 | ...; | Finally.cs:211:13:211:29 | ...; |
|
||||
| Finally.cs:211:13:211:29 | [finally: exception(Exception)] ...; | Finally.cs:211:13:211:29 | [finally: exception(Exception)] ...; |
|
||||
| Finally.cs:211:13:211:29 | [finally: exception(ExceptionA)] ...; | Finally.cs:211:13:211:29 | [finally: exception(ExceptionA)] ...; |
|
||||
| Finally.cs:211:13:211:29 | [finally: exception(ExceptionB)] ...; | Finally.cs:211:13:211:29 | [finally: exception(ExceptionB)] ...; |
|
||||
| Finally.cs:213:9:213:25 | ...; | Finally.cs:211:13:211:29 | ...; |
|
||||
| Finally.cs:213:9:213:25 | ...; | Finally.cs:213:9:213:25 | ...; |
|
||||
| Foreach.cs:6:10:6:11 | enter M1 | Foreach.cs:6:10:6:11 | enter M1 |
|
||||
| Foreach.cs:6:10:6:11 | exit M1 | Foreach.cs:6:10:6:11 | enter M1 |
|
||||
| Foreach.cs:6:10:6:11 | exit M1 | Foreach.cs:6:10:6:11 | exit M1 |
|
||||
|
|
|
@ -1639,6 +1639,80 @@ nodeEnclosing
|
|||
| Finally.cs:190:25:190:47 | [finally: exception(ExceptionA)] throw ...; | Finally.cs:176:10:176:11 | M9 |
|
||||
| Finally.cs:190:31:190:46 | [finally: exception(Exception)] object creation of type ExceptionC | Finally.cs:176:10:176:11 | M9 |
|
||||
| Finally.cs:190:31:190:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | Finally.cs:176:10:176:11 | M9 |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:196:5:214:5 | {...} | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:197:9:212:9 | try {...} ... | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:198:9:200:9 | {...} | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:199:13:199:43 | if (...) ... | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:202:9:212:9 | [finally: exception(Exception)] {...} | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:202:9:212:9 | [finally: exception(ExceptionA)] {...} | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:203:13:210:13 | [finally: exception(Exception)] try {...} ... | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:203:13:210:13 | [finally: exception(ExceptionA)] try {...} ... | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:203:13:210:13 | try {...} ... | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:204:13:206:13 | [finally: exception(Exception)] {...} | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:204:13:206:13 | [finally: exception(ExceptionA)] {...} | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:204:13:206:13 | {...} | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:205:17:205:47 | [finally: exception(Exception)] if (...) ... | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:205:17:205:47 | [finally: exception(ExceptionA)] if (...) ... | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:205:17:205:47 | if (...) ... | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:205:21:205:22 | [finally: exception(Exception)] access to parameter b2 | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:205:21:205:22 | [finally: exception(ExceptionA)] access to parameter b2 | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:205:25:205:47 | [finally: exception(Exception)] throw ...; | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:205:25:205:47 | [finally: exception(ExceptionA)] throw ...; | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:205:25:205:47 | throw ...; | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:205:31:205:46 | [finally: exception(Exception)] object creation of type ExceptionB | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:205:31:205:46 | [finally: exception(ExceptionA)] object creation of type ExceptionB | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(Exception)] {...} | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionA)] {...} | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:208:13:210:13 | {...} | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:209:17:209:47 | [finally: exception(Exception)] if (...) ... | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:209:17:209:47 | [finally: exception(ExceptionA)] if (...) ... | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:209:17:209:47 | [finally: exception(ExceptionB)] if (...) ... | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:209:17:209:47 | if (...) ... | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(Exception)] access to parameter b3 | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(ExceptionA)] access to parameter b3 | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(ExceptionB)] access to parameter b3 | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:209:25:209:47 | [finally: exception(Exception)] throw ...; | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:209:25:209:47 | [finally: exception(ExceptionA)] throw ...; | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:209:25:209:47 | [finally: exception(ExceptionB)] throw ...; | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:209:25:209:47 | throw ...; | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:209:31:209:46 | [finally: exception(Exception)] object creation of type ExceptionC | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:209:31:209:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:209:31:209:46 | [finally: exception(ExceptionB)] object creation of type ExceptionC | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:209:31:209:46 | object creation of type ExceptionC | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:13:211:16 | [finally: exception(Exception)] this access | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:13:211:16 | [finally: exception(ExceptionA)] this access | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:13:211:16 | [finally: exception(ExceptionB)] this access | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:13:211:16 | this access | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:13:211:16 | this access | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:13:211:28 | ... = ... | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:13:211:28 | ... = ... | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:13:211:28 | [finally: exception(Exception)] ... = ... | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:13:211:28 | [finally: exception(ExceptionA)] ... = ... | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:13:211:28 | [finally: exception(ExceptionB)] ... = ... | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:13:211:29 | ...; | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:13:211:29 | ...; | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:13:211:29 | [finally: exception(Exception)] ...; | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:13:211:29 | [finally: exception(ExceptionA)] ...; | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:13:211:29 | [finally: exception(ExceptionB)] ...; | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:26:211:28 | "0" | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:26:211:28 | "0" | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:26:211:28 | [finally: exception(Exception)] "0" | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:26:211:28 | [finally: exception(ExceptionA)] "0" | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:26:211:28 | [finally: exception(ExceptionB)] "0" | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:213:9:213:12 | this access | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:213:9:213:24 | ... = ... | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:213:9:213:25 | ...; | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:213:22:213:24 | "1" | Finally.cs:195:10:195:12 | M10 |
|
||||
| Foreach.cs:6:10:6:11 | enter M1 | Foreach.cs:6:10:6:11 | M1 |
|
||||
| Foreach.cs:6:10:6:11 | exit M1 | Foreach.cs:6:10:6:11 | M1 |
|
||||
| Foreach.cs:7:5:10:5 | {...} | Foreach.cs:6:10:6:11 | M1 |
|
||||
|
@ -3378,6 +3452,32 @@ blockEnclosing
|
|||
| Finally.cs:189:13:191:13 | [b1 (line 176): false] {...} | Finally.cs:176:10:176:11 | M9 |
|
||||
| Finally.cs:189:13:191:13 | [finally: exception(Exception), b1 (line 176): true] {...} | Finally.cs:176:10:176:11 | M9 |
|
||||
| Finally.cs:189:13:191:13 | [finally: exception(ExceptionA), b1 (line 176): true] {...} | Finally.cs:176:10:176:11 | M9 |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:202:9:212:9 | [finally: exception(Exception)] {...} | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:205:25:205:47 | [finally: exception(Exception)] throw ...; | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:205:25:205:47 | [finally: exception(ExceptionA)] throw ...; | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:205:25:205:47 | throw ...; | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:205:31:205:46 | [finally: exception(Exception)] object creation of type ExceptionB | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:205:31:205:46 | [finally: exception(ExceptionA)] object creation of type ExceptionB | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(Exception)] {...} | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionA)] {...} | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:208:13:210:13 | {...} | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:209:31:209:46 | [finally: exception(Exception)] object creation of type ExceptionC | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:209:31:209:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:209:31:209:46 | [finally: exception(ExceptionB)] object creation of type ExceptionC | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:209:31:209:46 | object creation of type ExceptionC | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:13:211:29 | ...; | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:13:211:29 | ...; | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:13:211:29 | [finally: exception(Exception)] ...; | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:13:211:29 | [finally: exception(ExceptionA)] ...; | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:211:13:211:29 | [finally: exception(ExceptionB)] ...; | Finally.cs:195:10:195:12 | M10 |
|
||||
| Finally.cs:213:9:213:25 | ...; | Finally.cs:195:10:195:12 | M10 |
|
||||
| Foreach.cs:6:10:6:11 | enter M1 | Foreach.cs:6:10:6:11 | M1 |
|
||||
| Foreach.cs:6:10:6:11 | exit M1 | Foreach.cs:6:10:6:11 | M1 |
|
||||
| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:6:10:6:11 | M1 |
|
||||
|
|
|
@ -1140,6 +1140,35 @@
|
|||
| Finally.cs:190:21:190:22 | access to parameter b1 | Finally.cs:190:21:190:22 | access to parameter b1 |
|
||||
| Finally.cs:190:25:190:47 | throw ...; | Finally.cs:190:31:190:46 | object creation of type ExceptionC |
|
||||
| Finally.cs:190:31:190:46 | object creation of type ExceptionC | Finally.cs:190:31:190:46 | object creation of type ExceptionC |
|
||||
| Finally.cs:196:5:214:5 | {...} | Finally.cs:196:5:214:5 | {...} |
|
||||
| Finally.cs:197:9:212:9 | try {...} ... | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:198:9:200:9 | {...} | Finally.cs:198:9:200:9 | {...} |
|
||||
| Finally.cs:199:13:199:43 | if (...) ... | Finally.cs:199:13:199:43 | if (...) ... |
|
||||
| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:199:17:199:18 | access to parameter b1 |
|
||||
| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:199:27:199:42 | object creation of type ExceptionA |
|
||||
| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:199:27:199:42 | object creation of type ExceptionA |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:202:9:212:9 | {...} |
|
||||
| Finally.cs:203:13:210:13 | try {...} ... | Finally.cs:203:13:210:13 | try {...} ... |
|
||||
| Finally.cs:204:13:206:13 | {...} | Finally.cs:204:13:206:13 | {...} |
|
||||
| Finally.cs:205:17:205:47 | if (...) ... | Finally.cs:205:17:205:47 | if (...) ... |
|
||||
| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:205:21:205:22 | access to parameter b2 |
|
||||
| Finally.cs:205:25:205:47 | throw ...; | Finally.cs:205:31:205:46 | object creation of type ExceptionB |
|
||||
| Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:205:31:205:46 | object creation of type ExceptionB |
|
||||
| Finally.cs:208:13:210:13 | {...} | Finally.cs:208:13:210:13 | {...} |
|
||||
| Finally.cs:209:17:209:47 | if (...) ... | Finally.cs:209:17:209:47 | if (...) ... |
|
||||
| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:209:21:209:22 | access to parameter b3 |
|
||||
| Finally.cs:209:25:209:47 | throw ...; | Finally.cs:209:31:209:46 | object creation of type ExceptionC |
|
||||
| Finally.cs:209:31:209:46 | object creation of type ExceptionC | Finally.cs:209:31:209:46 | object creation of type ExceptionC |
|
||||
| Finally.cs:211:13:211:16 | this access | Finally.cs:211:13:211:16 | this access |
|
||||
| Finally.cs:211:13:211:22 | access to field Field | Finally.cs:211:13:211:16 | this access |
|
||||
| Finally.cs:211:13:211:28 | ... = ... | Finally.cs:211:13:211:16 | this access |
|
||||
| Finally.cs:211:13:211:29 | ...; | Finally.cs:211:13:211:29 | ...; |
|
||||
| Finally.cs:211:26:211:28 | "0" | Finally.cs:211:26:211:28 | "0" |
|
||||
| Finally.cs:213:9:213:12 | this access | Finally.cs:213:9:213:12 | this access |
|
||||
| Finally.cs:213:9:213:18 | access to field Field | Finally.cs:213:9:213:12 | this access |
|
||||
| Finally.cs:213:9:213:24 | ... = ... | Finally.cs:213:9:213:12 | this access |
|
||||
| Finally.cs:213:9:213:25 | ...; | Finally.cs:213:9:213:25 | ...; |
|
||||
| Finally.cs:213:22:213:24 | "1" | Finally.cs:213:22:213:24 | "1" |
|
||||
| Foreach.cs:7:5:10:5 | {...} | Foreach.cs:7:5:10:5 | {...} |
|
||||
| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:8:29:8:32 | access to parameter args |
|
||||
| Foreach.cs:8:22:8:24 | String arg | Foreach.cs:8:22:8:24 | String arg |
|
||||
|
|
|
@ -1590,6 +1590,68 @@
|
|||
| Finally.cs:190:21:190:22 | access to parameter b1 | Finally.cs:190:21:190:22 | access to parameter b1 | true |
|
||||
| Finally.cs:190:25:190:47 | throw ...; | Finally.cs:190:25:190:47 | throw ...; | throw(ExceptionC) |
|
||||
| Finally.cs:190:31:190:46 | object creation of type ExceptionC | Finally.cs:190:31:190:46 | object creation of type ExceptionC | normal |
|
||||
| Finally.cs:196:5:214:5 | {...} | Finally.cs:209:21:209:22 | access to parameter b3 | throw(Exception) [false] |
|
||||
| Finally.cs:196:5:214:5 | {...} | Finally.cs:209:21:209:22 | access to parameter b3 | throw(ExceptionB) [false] |
|
||||
| Finally.cs:196:5:214:5 | {...} | Finally.cs:209:25:209:47 | throw ...; | throw(ExceptionC) |
|
||||
| Finally.cs:196:5:214:5 | {...} | Finally.cs:211:13:211:28 | ... = ... | throw(Exception) [normal] |
|
||||
| Finally.cs:196:5:214:5 | {...} | Finally.cs:211:13:211:28 | ... = ... | throw(ExceptionA) [normal] |
|
||||
| Finally.cs:196:5:214:5 | {...} | Finally.cs:213:9:213:24 | ... = ... | normal |
|
||||
| Finally.cs:197:9:212:9 | try {...} ... | Finally.cs:209:21:209:22 | access to parameter b3 | throw(Exception) [false] |
|
||||
| Finally.cs:197:9:212:9 | try {...} ... | Finally.cs:209:21:209:22 | access to parameter b3 | throw(ExceptionB) [false] |
|
||||
| Finally.cs:197:9:212:9 | try {...} ... | Finally.cs:209:25:209:47 | throw ...; | throw(ExceptionC) |
|
||||
| Finally.cs:197:9:212:9 | try {...} ... | Finally.cs:211:13:211:28 | ... = ... | normal |
|
||||
| Finally.cs:197:9:212:9 | try {...} ... | Finally.cs:211:13:211:28 | ... = ... | throw(Exception) [normal] |
|
||||
| Finally.cs:197:9:212:9 | try {...} ... | Finally.cs:211:13:211:28 | ... = ... | throw(ExceptionA) [normal] |
|
||||
| Finally.cs:198:9:200:9 | {...} | Finally.cs:199:17:199:18 | access to parameter b1 | false |
|
||||
| Finally.cs:198:9:200:9 | {...} | Finally.cs:199:21:199:43 | throw ...; | throw(ExceptionA) |
|
||||
| Finally.cs:198:9:200:9 | {...} | Finally.cs:199:27:199:42 | object creation of type ExceptionA | throw(Exception) |
|
||||
| Finally.cs:199:13:199:43 | if (...) ... | Finally.cs:199:17:199:18 | access to parameter b1 | false |
|
||||
| Finally.cs:199:13:199:43 | if (...) ... | Finally.cs:199:21:199:43 | throw ...; | throw(ExceptionA) |
|
||||
| Finally.cs:199:13:199:43 | if (...) ... | Finally.cs:199:27:199:42 | object creation of type ExceptionA | throw(Exception) |
|
||||
| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:199:17:199:18 | access to parameter b1 | false |
|
||||
| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:199:17:199:18 | access to parameter b1 | true |
|
||||
| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:199:21:199:43 | throw ...; | throw(ExceptionA) |
|
||||
| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:199:27:199:42 | object creation of type ExceptionA | throw(Exception) |
|
||||
| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:199:27:199:42 | object creation of type ExceptionA | normal |
|
||||
| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:199:27:199:42 | object creation of type ExceptionA | throw(Exception) |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:209:21:209:22 | access to parameter b3 | throw(Exception) [false] |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:209:21:209:22 | access to parameter b3 | throw(ExceptionB) [false] |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:209:25:209:47 | throw ...; | throw(ExceptionC) |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:211:13:211:28 | ... = ... | normal |
|
||||
| Finally.cs:203:13:210:13 | try {...} ... | Finally.cs:209:21:209:22 | access to parameter b3 | false |
|
||||
| Finally.cs:203:13:210:13 | try {...} ... | Finally.cs:209:21:209:22 | access to parameter b3 | throw(Exception) [false] |
|
||||
| Finally.cs:203:13:210:13 | try {...} ... | Finally.cs:209:21:209:22 | access to parameter b3 | throw(ExceptionB) [false] |
|
||||
| Finally.cs:203:13:210:13 | try {...} ... | Finally.cs:209:25:209:47 | throw ...; | throw(ExceptionC) |
|
||||
| Finally.cs:204:13:206:13 | {...} | Finally.cs:205:21:205:22 | access to parameter b2 | false |
|
||||
| Finally.cs:204:13:206:13 | {...} | Finally.cs:205:25:205:47 | throw ...; | throw(ExceptionB) |
|
||||
| Finally.cs:204:13:206:13 | {...} | Finally.cs:205:31:205:46 | object creation of type ExceptionB | throw(Exception) |
|
||||
| Finally.cs:205:17:205:47 | if (...) ... | Finally.cs:205:21:205:22 | access to parameter b2 | false |
|
||||
| Finally.cs:205:17:205:47 | if (...) ... | Finally.cs:205:25:205:47 | throw ...; | throw(ExceptionB) |
|
||||
| Finally.cs:205:17:205:47 | if (...) ... | Finally.cs:205:31:205:46 | object creation of type ExceptionB | throw(Exception) |
|
||||
| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:205:21:205:22 | access to parameter b2 | false |
|
||||
| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:205:21:205:22 | access to parameter b2 | true |
|
||||
| Finally.cs:205:25:205:47 | throw ...; | Finally.cs:205:25:205:47 | throw ...; | throw(ExceptionB) |
|
||||
| Finally.cs:205:25:205:47 | throw ...; | Finally.cs:205:31:205:46 | object creation of type ExceptionB | throw(Exception) |
|
||||
| Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:205:31:205:46 | object creation of type ExceptionB | normal |
|
||||
| Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:205:31:205:46 | object creation of type ExceptionB | throw(Exception) |
|
||||
| Finally.cs:208:13:210:13 | {...} | Finally.cs:209:21:209:22 | access to parameter b3 | false |
|
||||
| Finally.cs:208:13:210:13 | {...} | Finally.cs:209:25:209:47 | throw ...; | throw(ExceptionC) |
|
||||
| Finally.cs:209:17:209:47 | if (...) ... | Finally.cs:209:21:209:22 | access to parameter b3 | false |
|
||||
| Finally.cs:209:17:209:47 | if (...) ... | Finally.cs:209:25:209:47 | throw ...; | throw(ExceptionC) |
|
||||
| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:209:21:209:22 | access to parameter b3 | false |
|
||||
| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:209:21:209:22 | access to parameter b3 | true |
|
||||
| Finally.cs:209:25:209:47 | throw ...; | Finally.cs:209:25:209:47 | throw ...; | throw(ExceptionC) |
|
||||
| Finally.cs:209:31:209:46 | object creation of type ExceptionC | Finally.cs:209:31:209:46 | object creation of type ExceptionC | normal |
|
||||
| Finally.cs:211:13:211:16 | this access | Finally.cs:211:13:211:16 | this access | normal |
|
||||
| Finally.cs:211:13:211:22 | access to field Field | Finally.cs:211:13:211:16 | this access | normal |
|
||||
| Finally.cs:211:13:211:28 | ... = ... | Finally.cs:211:13:211:28 | ... = ... | normal |
|
||||
| Finally.cs:211:13:211:29 | ...; | Finally.cs:211:13:211:28 | ... = ... | normal |
|
||||
| Finally.cs:211:26:211:28 | "0" | Finally.cs:211:26:211:28 | "0" | normal |
|
||||
| Finally.cs:213:9:213:12 | this access | Finally.cs:213:9:213:12 | this access | normal |
|
||||
| Finally.cs:213:9:213:18 | access to field Field | Finally.cs:213:9:213:12 | this access | normal |
|
||||
| Finally.cs:213:9:213:24 | ... = ... | Finally.cs:213:9:213:24 | ... = ... | normal |
|
||||
| Finally.cs:213:9:213:25 | ...; | Finally.cs:213:9:213:24 | ... = ... | normal |
|
||||
| Finally.cs:213:22:213:24 | "1" | Finally.cs:213:22:213:24 | "1" | normal |
|
||||
| Foreach.cs:7:5:10:5 | {...} | Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | empty |
|
||||
| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | empty |
|
||||
| Foreach.cs:8:22:8:24 | String arg | Foreach.cs:8:22:8:24 | String arg | normal |
|
||||
|
|
|
@ -191,4 +191,25 @@ public class Finally
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
void M10(bool b1, bool b2, bool b3)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (b1) throw new ExceptionA();
|
||||
}
|
||||
finally
|
||||
{
|
||||
try
|
||||
{
|
||||
if (b2) throw new ExceptionB();
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (b3) throw new ExceptionC();
|
||||
}
|
||||
this.Field = "0";
|
||||
}
|
||||
this.Field = "1";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1699,6 +1699,95 @@
|
|||
| Finally.cs:190:25:190:47 | [finally: exception(ExceptionA)] throw ...; | Finally.cs:176:10:176:11 | exit M9 | semmle.label | exception(ExceptionC) |
|
||||
| Finally.cs:190:31:190:46 | [finally: exception(Exception)] object creation of type ExceptionC | Finally.cs:190:25:190:47 | [finally: exception(Exception)] throw ...; | semmle.label | successor |
|
||||
| Finally.cs:190:31:190:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | Finally.cs:190:25:190:47 | [finally: exception(ExceptionA)] throw ...; | semmle.label | successor |
|
||||
| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:196:5:214:5 | {...} | semmle.label | successor |
|
||||
| Finally.cs:196:5:214:5 | {...} | Finally.cs:197:9:212:9 | try {...} ... | semmle.label | successor |
|
||||
| Finally.cs:197:9:212:9 | try {...} ... | Finally.cs:198:9:200:9 | {...} | semmle.label | successor |
|
||||
| Finally.cs:198:9:200:9 | {...} | Finally.cs:199:13:199:43 | if (...) ... | semmle.label | successor |
|
||||
| Finally.cs:199:13:199:43 | if (...) ... | Finally.cs:199:17:199:18 | access to parameter b1 | semmle.label | successor |
|
||||
| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:199:27:199:42 | object creation of type ExceptionA | semmle.label | true |
|
||||
| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:202:9:212:9 | {...} | semmle.label | false |
|
||||
| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:202:9:212:9 | [finally: exception(ExceptionA)] {...} | semmle.label | exception(ExceptionA) |
|
||||
| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:199:21:199:43 | throw ...; | semmle.label | successor |
|
||||
| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:202:9:212:9 | [finally: exception(Exception)] {...} | semmle.label | exception(Exception) |
|
||||
| Finally.cs:202:9:212:9 | [finally: exception(Exception)] {...} | Finally.cs:203:13:210:13 | [finally: exception(Exception)] try {...} ... | semmle.label | successor |
|
||||
| Finally.cs:202:9:212:9 | [finally: exception(ExceptionA)] {...} | Finally.cs:203:13:210:13 | [finally: exception(ExceptionA)] try {...} ... | semmle.label | successor |
|
||||
| Finally.cs:202:9:212:9 | {...} | Finally.cs:203:13:210:13 | try {...} ... | semmle.label | successor |
|
||||
| Finally.cs:203:13:210:13 | [finally: exception(Exception)] try {...} ... | Finally.cs:204:13:206:13 | [finally: exception(Exception)] {...} | semmle.label | successor |
|
||||
| Finally.cs:203:13:210:13 | [finally: exception(ExceptionA)] try {...} ... | Finally.cs:204:13:206:13 | [finally: exception(ExceptionA)] {...} | semmle.label | successor |
|
||||
| Finally.cs:203:13:210:13 | try {...} ... | Finally.cs:204:13:206:13 | {...} | semmle.label | successor |
|
||||
| Finally.cs:204:13:206:13 | [finally: exception(Exception)] {...} | Finally.cs:205:17:205:47 | [finally: exception(Exception)] if (...) ... | semmle.label | successor |
|
||||
| Finally.cs:204:13:206:13 | [finally: exception(ExceptionA)] {...} | Finally.cs:205:17:205:47 | [finally: exception(ExceptionA)] if (...) ... | semmle.label | successor |
|
||||
| Finally.cs:204:13:206:13 | {...} | Finally.cs:205:17:205:47 | if (...) ... | semmle.label | successor |
|
||||
| Finally.cs:205:17:205:47 | [finally: exception(Exception)] if (...) ... | Finally.cs:205:21:205:22 | [finally: exception(Exception)] access to parameter b2 | semmle.label | successor |
|
||||
| Finally.cs:205:17:205:47 | [finally: exception(ExceptionA)] if (...) ... | Finally.cs:205:21:205:22 | [finally: exception(ExceptionA)] access to parameter b2 | semmle.label | successor |
|
||||
| Finally.cs:205:17:205:47 | if (...) ... | Finally.cs:205:21:205:22 | access to parameter b2 | semmle.label | successor |
|
||||
| Finally.cs:205:21:205:22 | [finally: exception(Exception)] access to parameter b2 | Finally.cs:205:31:205:46 | [finally: exception(Exception)] object creation of type ExceptionB | semmle.label | true |
|
||||
| Finally.cs:205:21:205:22 | [finally: exception(Exception)] access to parameter b2 | Finally.cs:208:13:210:13 | [finally: exception(Exception)] {...} | semmle.label | false |
|
||||
| Finally.cs:205:21:205:22 | [finally: exception(ExceptionA)] access to parameter b2 | Finally.cs:205:31:205:46 | [finally: exception(ExceptionA)] object creation of type ExceptionB | semmle.label | true |
|
||||
| Finally.cs:205:21:205:22 | [finally: exception(ExceptionA)] access to parameter b2 | Finally.cs:208:13:210:13 | [finally: exception(ExceptionA)] {...} | semmle.label | false |
|
||||
| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:205:31:205:46 | object creation of type ExceptionB | semmle.label | true |
|
||||
| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:208:13:210:13 | {...} | semmle.label | false |
|
||||
| Finally.cs:205:25:205:47 | [finally: exception(Exception)] throw ...; | Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} | semmle.label | exception(ExceptionB) |
|
||||
| Finally.cs:205:25:205:47 | [finally: exception(ExceptionA)] throw ...; | Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} | semmle.label | exception(ExceptionB) |
|
||||
| Finally.cs:205:25:205:47 | throw ...; | Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} | semmle.label | exception(ExceptionB) |
|
||||
| Finally.cs:205:31:205:46 | [finally: exception(Exception)] object creation of type ExceptionB | Finally.cs:205:25:205:47 | [finally: exception(Exception)] throw ...; | semmle.label | successor |
|
||||
| Finally.cs:205:31:205:46 | [finally: exception(Exception)] object creation of type ExceptionB | Finally.cs:208:13:210:13 | [finally: exception(Exception)] {...} | semmle.label | exception(Exception) |
|
||||
| Finally.cs:205:31:205:46 | [finally: exception(ExceptionA)] object creation of type ExceptionB | Finally.cs:205:25:205:47 | [finally: exception(ExceptionA)] throw ...; | semmle.label | successor |
|
||||
| Finally.cs:205:31:205:46 | [finally: exception(ExceptionA)] object creation of type ExceptionB | Finally.cs:208:13:210:13 | [finally: exception(Exception)] {...} | semmle.label | exception(Exception) |
|
||||
| Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:205:25:205:47 | throw ...; | semmle.label | successor |
|
||||
| Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:208:13:210:13 | [finally: exception(Exception)] {...} | semmle.label | exception(Exception) |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(Exception)] {...} | Finally.cs:209:17:209:47 | [finally: exception(Exception)] if (...) ... | semmle.label | successor |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionA)] {...} | Finally.cs:209:17:209:47 | [finally: exception(ExceptionA)] if (...) ... | semmle.label | successor |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} | Finally.cs:209:17:209:47 | [finally: exception(ExceptionB)] if (...) ... | semmle.label | successor |
|
||||
| Finally.cs:208:13:210:13 | {...} | Finally.cs:209:17:209:47 | if (...) ... | semmle.label | successor |
|
||||
| Finally.cs:209:17:209:47 | [finally: exception(Exception)] if (...) ... | Finally.cs:209:21:209:22 | [finally: exception(Exception)] access to parameter b3 | semmle.label | successor |
|
||||
| Finally.cs:209:17:209:47 | [finally: exception(ExceptionA)] if (...) ... | Finally.cs:209:21:209:22 | [finally: exception(ExceptionA)] access to parameter b3 | semmle.label | successor |
|
||||
| Finally.cs:209:17:209:47 | [finally: exception(ExceptionB)] if (...) ... | Finally.cs:209:21:209:22 | [finally: exception(ExceptionB)] access to parameter b3 | semmle.label | successor |
|
||||
| Finally.cs:209:17:209:47 | if (...) ... | Finally.cs:209:21:209:22 | access to parameter b3 | semmle.label | successor |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(Exception)] access to parameter b3 | Finally.cs:195:10:195:12 | exit M10 | semmle.label | exception(Exception) |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(Exception)] access to parameter b3 | Finally.cs:209:31:209:46 | [finally: exception(Exception)] object creation of type ExceptionC | semmle.label | true |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(Exception)] access to parameter b3 | Finally.cs:211:13:211:29 | [finally: exception(Exception)] ...; | semmle.label | false |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(ExceptionA)] access to parameter b3 | Finally.cs:209:31:209:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | semmle.label | true |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(ExceptionA)] access to parameter b3 | Finally.cs:211:13:211:29 | [finally: exception(ExceptionA)] ...; | semmle.label | false |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(ExceptionB)] access to parameter b3 | Finally.cs:195:10:195:12 | exit M10 | semmle.label | exception(ExceptionB) |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(ExceptionB)] access to parameter b3 | Finally.cs:209:31:209:46 | [finally: exception(ExceptionB)] object creation of type ExceptionC | semmle.label | true |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(ExceptionB)] access to parameter b3 | Finally.cs:211:13:211:29 | [finally: exception(ExceptionB)] ...; | semmle.label | false |
|
||||
| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:209:31:209:46 | object creation of type ExceptionC | semmle.label | true |
|
||||
| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:211:13:211:29 | ...; | semmle.label | false |
|
||||
| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:211:13:211:29 | ...; | semmle.label | false |
|
||||
| Finally.cs:209:25:209:47 | [finally: exception(Exception)] throw ...; | Finally.cs:195:10:195:12 | exit M10 | semmle.label | exception(ExceptionC) |
|
||||
| Finally.cs:209:25:209:47 | [finally: exception(ExceptionA)] throw ...; | Finally.cs:195:10:195:12 | exit M10 | semmle.label | exception(ExceptionC) |
|
||||
| Finally.cs:209:25:209:47 | [finally: exception(ExceptionB)] throw ...; | Finally.cs:195:10:195:12 | exit M10 | semmle.label | exception(ExceptionC) |
|
||||
| Finally.cs:209:25:209:47 | throw ...; | Finally.cs:195:10:195:12 | exit M10 | semmle.label | exception(ExceptionC) |
|
||||
| Finally.cs:209:31:209:46 | [finally: exception(Exception)] object creation of type ExceptionC | Finally.cs:209:25:209:47 | [finally: exception(Exception)] throw ...; | semmle.label | successor |
|
||||
| Finally.cs:209:31:209:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | Finally.cs:209:25:209:47 | [finally: exception(ExceptionA)] throw ...; | semmle.label | successor |
|
||||
| Finally.cs:209:31:209:46 | [finally: exception(ExceptionB)] object creation of type ExceptionC | Finally.cs:209:25:209:47 | [finally: exception(ExceptionB)] throw ...; | semmle.label | successor |
|
||||
| Finally.cs:209:31:209:46 | object creation of type ExceptionC | Finally.cs:209:25:209:47 | throw ...; | semmle.label | successor |
|
||||
| Finally.cs:211:13:211:16 | [finally: exception(Exception)] this access | Finally.cs:211:26:211:28 | [finally: exception(Exception)] "0" | semmle.label | successor |
|
||||
| Finally.cs:211:13:211:16 | [finally: exception(ExceptionA)] this access | Finally.cs:211:26:211:28 | [finally: exception(ExceptionA)] "0" | semmle.label | successor |
|
||||
| Finally.cs:211:13:211:16 | [finally: exception(ExceptionB)] this access | Finally.cs:211:26:211:28 | [finally: exception(ExceptionB)] "0" | semmle.label | successor |
|
||||
| Finally.cs:211:13:211:16 | this access | Finally.cs:211:26:211:28 | "0" | semmle.label | successor |
|
||||
| Finally.cs:211:13:211:16 | this access | Finally.cs:211:26:211:28 | "0" | semmle.label | successor |
|
||||
| Finally.cs:211:13:211:28 | ... = ... | Finally.cs:195:10:195:12 | exit M10 | semmle.label | exception(Exception) |
|
||||
| Finally.cs:211:13:211:28 | ... = ... | Finally.cs:195:10:195:12 | exit M10 | semmle.label | exception(ExceptionA) |
|
||||
| Finally.cs:211:13:211:28 | ... = ... | Finally.cs:213:9:213:25 | ...; | semmle.label | successor |
|
||||
| Finally.cs:211:13:211:28 | ... = ... | Finally.cs:213:9:213:25 | ...; | semmle.label | successor |
|
||||
| Finally.cs:211:13:211:28 | [finally: exception(Exception)] ... = ... | Finally.cs:195:10:195:12 | exit M10 | semmle.label | exception(Exception) |
|
||||
| Finally.cs:211:13:211:28 | [finally: exception(ExceptionA)] ... = ... | Finally.cs:195:10:195:12 | exit M10 | semmle.label | exception(ExceptionA) |
|
||||
| Finally.cs:211:13:211:29 | ...; | Finally.cs:211:13:211:16 | this access | semmle.label | successor |
|
||||
| Finally.cs:211:13:211:29 | ...; | Finally.cs:211:13:211:16 | this access | semmle.label | successor |
|
||||
| Finally.cs:211:13:211:29 | [finally: exception(Exception)] ...; | Finally.cs:211:13:211:16 | [finally: exception(Exception)] this access | semmle.label | successor |
|
||||
| Finally.cs:211:13:211:29 | [finally: exception(ExceptionA)] ...; | Finally.cs:211:13:211:16 | [finally: exception(ExceptionA)] this access | semmle.label | successor |
|
||||
| Finally.cs:211:13:211:29 | [finally: exception(ExceptionB)] ...; | Finally.cs:211:13:211:16 | [finally: exception(ExceptionB)] this access | semmle.label | successor |
|
||||
| Finally.cs:211:26:211:28 | "0" | Finally.cs:211:13:211:28 | ... = ... | semmle.label | successor |
|
||||
| Finally.cs:211:26:211:28 | "0" | Finally.cs:211:13:211:28 | ... = ... | semmle.label | successor |
|
||||
| Finally.cs:211:26:211:28 | [finally: exception(Exception)] "0" | Finally.cs:211:13:211:28 | [finally: exception(Exception)] ... = ... | semmle.label | successor |
|
||||
| Finally.cs:211:26:211:28 | [finally: exception(ExceptionA)] "0" | Finally.cs:211:13:211:28 | [finally: exception(ExceptionA)] ... = ... | semmle.label | successor |
|
||||
| Finally.cs:211:26:211:28 | [finally: exception(ExceptionB)] "0" | Finally.cs:211:13:211:28 | [finally: exception(ExceptionB)] ... = ... | semmle.label | successor |
|
||||
| Finally.cs:213:9:213:12 | this access | Finally.cs:213:22:213:24 | "1" | semmle.label | successor |
|
||||
| Finally.cs:213:9:213:24 | ... = ... | Finally.cs:195:10:195:12 | exit M10 | semmle.label | successor |
|
||||
| Finally.cs:213:9:213:25 | ...; | Finally.cs:213:9:213:12 | this access | semmle.label | successor |
|
||||
| Finally.cs:213:22:213:24 | "1" | Finally.cs:213:9:213:24 | ... = ... | 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 |
|
||||
|
|
|
@ -548,6 +548,47 @@ finallyNode
|
|||
| Finally.cs:190:25:190:47 | [finally: exception(ExceptionA)] throw ...; | Finally.cs:178:9:192:9 | try {...} ... |
|
||||
| Finally.cs:190:31:190:46 | [finally: exception(Exception)] object creation of type ExceptionC | Finally.cs:178:9:192:9 | try {...} ... |
|
||||
| Finally.cs:190:31:190:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | Finally.cs:178:9:192:9 | try {...} ... |
|
||||
| Finally.cs:202:9:212:9 | [finally: exception(Exception)] {...} | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:202:9:212:9 | [finally: exception(ExceptionA)] {...} | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:203:13:210:13 | [finally: exception(Exception)] try {...} ... | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:203:13:210:13 | [finally: exception(ExceptionA)] try {...} ... | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:204:13:206:13 | [finally: exception(Exception)] {...} | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:204:13:206:13 | [finally: exception(ExceptionA)] {...} | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:205:17:205:47 | [finally: exception(Exception)] if (...) ... | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:205:17:205:47 | [finally: exception(ExceptionA)] if (...) ... | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:205:21:205:22 | [finally: exception(Exception)] access to parameter b2 | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:205:21:205:22 | [finally: exception(ExceptionA)] access to parameter b2 | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:205:25:205:47 | [finally: exception(Exception)] throw ...; | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:205:25:205:47 | [finally: exception(ExceptionA)] throw ...; | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:205:31:205:46 | [finally: exception(Exception)] object creation of type ExceptionB | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:205:31:205:46 | [finally: exception(ExceptionA)] object creation of type ExceptionB | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(Exception)] {...} | Finally.cs:203:13:210:13 | try {...} ... |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionA)] {...} | Finally.cs:203:13:210:13 | try {...} ... |
|
||||
| Finally.cs:208:13:210:13 | [finally: exception(ExceptionB)] {...} | Finally.cs:203:13:210:13 | try {...} ... |
|
||||
| Finally.cs:209:17:209:47 | [finally: exception(Exception)] if (...) ... | Finally.cs:203:13:210:13 | try {...} ... |
|
||||
| Finally.cs:209:17:209:47 | [finally: exception(ExceptionA)] if (...) ... | Finally.cs:203:13:210:13 | try {...} ... |
|
||||
| Finally.cs:209:17:209:47 | [finally: exception(ExceptionB)] if (...) ... | Finally.cs:203:13:210:13 | try {...} ... |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(Exception)] access to parameter b3 | Finally.cs:203:13:210:13 | try {...} ... |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(ExceptionA)] access to parameter b3 | Finally.cs:203:13:210:13 | try {...} ... |
|
||||
| Finally.cs:209:21:209:22 | [finally: exception(ExceptionB)] access to parameter b3 | Finally.cs:203:13:210:13 | try {...} ... |
|
||||
| Finally.cs:209:25:209:47 | [finally: exception(Exception)] throw ...; | Finally.cs:203:13:210:13 | try {...} ... |
|
||||
| Finally.cs:209:25:209:47 | [finally: exception(ExceptionA)] throw ...; | Finally.cs:203:13:210:13 | try {...} ... |
|
||||
| Finally.cs:209:25:209:47 | [finally: exception(ExceptionB)] throw ...; | Finally.cs:203:13:210:13 | try {...} ... |
|
||||
| Finally.cs:209:31:209:46 | [finally: exception(Exception)] object creation of type ExceptionC | Finally.cs:203:13:210:13 | try {...} ... |
|
||||
| Finally.cs:209:31:209:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | Finally.cs:203:13:210:13 | try {...} ... |
|
||||
| Finally.cs:209:31:209:46 | [finally: exception(ExceptionB)] object creation of type ExceptionC | Finally.cs:203:13:210:13 | try {...} ... |
|
||||
| Finally.cs:211:13:211:16 | [finally: exception(Exception)] this access | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:211:13:211:16 | [finally: exception(ExceptionA)] this access | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:211:13:211:16 | [finally: exception(ExceptionB)] this access | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:211:13:211:28 | [finally: exception(Exception)] ... = ... | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:211:13:211:28 | [finally: exception(ExceptionA)] ... = ... | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:211:13:211:28 | [finally: exception(ExceptionB)] ... = ... | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:211:13:211:29 | [finally: exception(Exception)] ...; | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:211:13:211:29 | [finally: exception(ExceptionA)] ...; | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:211:13:211:29 | [finally: exception(ExceptionB)] ...; | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:211:26:211:28 | [finally: exception(Exception)] "0" | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:211:26:211:28 | [finally: exception(ExceptionA)] "0" | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| Finally.cs:211:26:211:28 | [finally: exception(ExceptionB)] "0" | Finally.cs:197:9:212:9 | try {...} ... |
|
||||
| cflow.cs:274:9:276:9 | [finally: return] {...} | cflow.cs:268:9:276:9 | try {...} ... |
|
||||
| cflow.cs:275:13:275:41 | [finally: return] call to method WriteLine | cflow.cs:268:9:276:9 | try {...} ... |
|
||||
| cflow.cs:275:13:275:42 | [finally: return] ...; | cflow.cs:268:9:276:9 | try {...} ... |
|
||||
|
@ -635,6 +676,7 @@ entryPoint
|
|||
| Finally.cs:133:10:133:11 | M7 | Finally.cs:134:5:145:5 | {...} |
|
||||
| Finally.cs:147:10:147:11 | M8 | Finally.cs:148:5:170:5 | {...} |
|
||||
| Finally.cs:176:10:176:11 | M9 | Finally.cs:177:5:193:5 | {...} |
|
||||
| Finally.cs:195:10:195:12 | M10 | Finally.cs:196:5:214:5 | {...} |
|
||||
| Foreach.cs:6:10:6:11 | M1 | Foreach.cs:7:5:10:5 | {...} |
|
||||
| Foreach.cs:12:10:12:11 | M2 | Foreach.cs:13:5:16:5 | {...} |
|
||||
| Foreach.cs:18:10:18:11 | M3 | Foreach.cs:19:5:22:5 | {...} |
|
||||
|
|
Загрузка…
Ссылка в новой задаче