C#: Remove some impossible CFG exception edges

This commit is contained in:
Tom Hvitved 2019-02-11 16:17:01 +01:00
Родитель 6ff4206d53
Коммит 8cb8c967d2
16 изменённых файлов: 14 добавлений и 93 удалений

Просмотреть файл

@ -205,7 +205,7 @@ private class TriedControlFlowElement extends ControlFlowElement {
or or
this = any(MemberAccess ma | this = any(MemberAccess ma |
not ma.isConditional() and not ma.isConditional() and
ma.hasQualifier() and ma.getQualifier() = any(Expr e | not e instanceof TypeAccess) and
result instanceof SystemNullReferenceExceptionClass result instanceof SystemNullReferenceExceptionClass
) )
or or
@ -234,7 +234,7 @@ private class TriedControlFlowElement extends ControlFlowElement {
) )
or or
this = any(DivExpr de | this = any(DivExpr de |
not de.getDenominator().getValue().toInt() != 0 and not de.getDenominator().getValue().toFloat() != 0 and
result instanceof SystemDivideByZeroExceptionClass result instanceof SystemDivideByZeroExceptionClass
) )
or or

Просмотреть файл

@ -503,10 +503,7 @@
| cflow.cs:244:17:244:37 | [finally: exception(NullReferenceException)] ...; | cflow.cs:244:17:244:36 | [finally: exception(NullReferenceException)] call to method WriteLine | 3 | | cflow.cs:244:17:244:37 | [finally: exception(NullReferenceException)] ...; | cflow.cs:244:17:244:36 | [finally: exception(NullReferenceException)] call to method WriteLine | 3 |
| cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; | cflow.cs:244:17:244:36 | [finally: exception(OutOfMemoryException)] call to method WriteLine | 3 | | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; | cflow.cs:244:17:244:36 | [finally: exception(OutOfMemoryException)] call to method WriteLine | 3 |
| cflow.cs:244:17:244:37 | [finally: return] ...; | cflow.cs:244:17:244:36 | [finally: return] call to method WriteLine | 3 | | cflow.cs:244:17:244:37 | [finally: return] ...; | cflow.cs:244:17:244:36 | [finally: return] call to method WriteLine | 3 |
| cflow.cs:247:9:254:9 | try {...} ... | cflow.cs:249:28:249:40 | access to constant E | 7 | | cflow.cs:247:9:254:9 | try {...} ... | cflow.cs:249:17:249:40 | Double temp = ... | 9 |
| cflow.cs:249:17:249:40 | Double temp = ... | cflow.cs:249:17:249:40 | Double temp = ... | 1 |
| cflow.cs:249:24:249:40 | ... / ... | cflow.cs:249:24:249:40 | ... / ... | 1 |
| cflow.cs:251:9:254:9 | catch {...} | cflow.cs:253:13:253:13 | ; | 3 |
| cflow.cs:257:10:257:12 | enter For | cflow.cs:260:9:261:33 | for (...;...;...) ... | 7 | | cflow.cs:257:10:257:12 | enter For | cflow.cs:260:9:261:33 | for (...;...;...) ... | 7 |
| cflow.cs:257:10:257:12 | exit For | cflow.cs:257:10:257:12 | exit For | 1 | | cflow.cs:257:10:257:12 | exit For | cflow.cs:257:10:257:12 | exit For | 1 |
| cflow.cs:260:16:260:16 | access to local variable x | cflow.cs:260:16:260:21 | ... < ... | 3 | | cflow.cs:260:16:260:16 | access to local variable x | cflow.cs:260:16:260:21 | ... < ... | 3 |

Просмотреть файл

@ -987,9 +987,6 @@
| post | cflow.cs:146:10:146:19 | exit TryFinally | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; | | post | cflow.cs:146:10:146:19 | exit TryFinally | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; |
| post | cflow.cs:146:10:146:19 | exit TryFinally | cflow.cs:244:17:244:37 | [finally: return] ...; | | post | cflow.cs:146:10:146:19 | exit TryFinally | cflow.cs:244:17:244:37 | [finally: return] ...; |
| post | cflow.cs:146:10:146:19 | exit TryFinally | cflow.cs:247:9:254:9 | try {...} ... | | post | cflow.cs:146:10:146:19 | exit TryFinally | cflow.cs:247:9:254:9 | try {...} ... |
| post | cflow.cs:146:10:146:19 | exit TryFinally | cflow.cs:249:17:249:40 | Double temp = ... |
| post | cflow.cs:146:10:146:19 | exit TryFinally | cflow.cs:249:24:249:40 | ... / ... |
| post | cflow.cs:146:10:146:19 | exit TryFinally | cflow.cs:251:9:254:9 | catch {...} |
| post | cflow.cs:150:13:150:37 | call to method WriteLine | cflow.cs:150:13:150:37 | call to method WriteLine | | post | cflow.cs:150:13:150:37 | call to method WriteLine | cflow.cs:150:13:150:37 | call to method WriteLine |
| post | cflow.cs:153:9:155:9 | [finally: exception(Exception)] {...} | cflow.cs:153:9:155:9 | [finally: exception(Exception)] {...} | | post | cflow.cs:153:9:155:9 | [finally: exception(Exception)] {...} | cflow.cs:153:9:155:9 | [finally: exception(Exception)] {...} |
| post | cflow.cs:153:9:155:9 | [finally: exception(OutOfMemoryException)] {...} | cflow.cs:153:9:155:9 | [finally: exception(OutOfMemoryException)] {...} | | post | cflow.cs:153:9:155:9 | [finally: exception(OutOfMemoryException)] {...} | cflow.cs:153:9:155:9 | [finally: exception(OutOfMemoryException)] {...} |
@ -1089,9 +1086,6 @@
| post | cflow.cs:247:9:254:9 | try {...} ... | cflow.cs:243:13:244:37 | if (...) ... | | post | cflow.cs:247:9:254:9 | try {...} ... | cflow.cs:243:13:244:37 | if (...) ... |
| post | cflow.cs:247:9:254:9 | try {...} ... | cflow.cs:244:17:244:37 | ...; | | post | cflow.cs:247:9:254:9 | try {...} ... | cflow.cs:244:17:244:37 | ...; |
| post | cflow.cs:247:9:254:9 | try {...} ... | cflow.cs:247:9:254:9 | try {...} ... | | post | cflow.cs:247:9:254:9 | try {...} ... | cflow.cs:247:9:254:9 | try {...} ... |
| post | cflow.cs:249:17:249:40 | Double temp = ... | cflow.cs:249:17:249:40 | Double temp = ... |
| post | cflow.cs:249:24:249:40 | ... / ... | cflow.cs:249:24:249:40 | ... / ... |
| post | cflow.cs:251:9:254:9 | catch {...} | cflow.cs:251:9:254:9 | catch {...} |
| post | cflow.cs:257:10:257:12 | enter For | cflow.cs:257:10:257:12 | enter For | | post | cflow.cs:257:10:257:12 | enter For | cflow.cs:257:10:257:12 | enter For |
| post | cflow.cs:257:10:257:12 | exit For | cflow.cs:257:10:257:12 | enter For | | post | cflow.cs:257:10:257:12 | exit For | cflow.cs:257:10:257:12 | enter For |
| post | cflow.cs:257:10:257:12 | exit For | cflow.cs:257:10:257:12 | exit For | | post | cflow.cs:257:10:257:12 | exit For | cflow.cs:257:10:257:12 | exit For |
@ -2576,9 +2570,6 @@
| pre | cflow.cs:146:10:146:19 | enter TryFinally | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; | | pre | cflow.cs:146:10:146:19 | enter TryFinally | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; |
| pre | cflow.cs:146:10:146:19 | enter TryFinally | cflow.cs:244:17:244:37 | [finally: return] ...; | | pre | cflow.cs:146:10:146:19 | enter TryFinally | cflow.cs:244:17:244:37 | [finally: return] ...; |
| pre | cflow.cs:146:10:146:19 | enter TryFinally | cflow.cs:247:9:254:9 | try {...} ... | | pre | cflow.cs:146:10:146:19 | enter TryFinally | cflow.cs:247:9:254:9 | try {...} ... |
| pre | cflow.cs:146:10:146:19 | enter TryFinally | cflow.cs:249:17:249:40 | Double temp = ... |
| pre | cflow.cs:146:10:146:19 | enter TryFinally | cflow.cs:249:24:249:40 | ... / ... |
| pre | cflow.cs:146:10:146:19 | enter TryFinally | cflow.cs:251:9:254:9 | catch {...} |
| pre | cflow.cs:146:10:146:19 | exit TryFinally | cflow.cs:146:10:146:19 | exit TryFinally | | pre | cflow.cs:146:10:146:19 | exit TryFinally | cflow.cs:146:10:146:19 | exit TryFinally |
| pre | cflow.cs:150:13:150:37 | call to method WriteLine | cflow.cs:150:13:150:37 | call to method WriteLine | | pre | cflow.cs:150:13:150:37 | call to method WriteLine | cflow.cs:150:13:150:37 | call to method WriteLine |
| pre | cflow.cs:150:13:150:37 | call to method WriteLine | cflow.cs:153:9:155:9 | [finally: exception(Exception)] {...} | | pre | cflow.cs:150:13:150:37 | call to method WriteLine | cflow.cs:153:9:155:9 | [finally: exception(Exception)] {...} |
@ -2650,9 +2641,6 @@
| pre | cflow.cs:150:13:150:37 | call to method WriteLine | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; | | pre | cflow.cs:150:13:150:37 | call to method WriteLine | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; |
| pre | cflow.cs:150:13:150:37 | call to method WriteLine | cflow.cs:244:17:244:37 | [finally: return] ...; | | pre | cflow.cs:150:13:150:37 | call to method WriteLine | cflow.cs:244:17:244:37 | [finally: return] ...; |
| pre | cflow.cs:150:13:150:37 | call to method WriteLine | cflow.cs:247:9:254:9 | try {...} ... | | pre | cflow.cs:150:13:150:37 | call to method WriteLine | cflow.cs:247:9:254:9 | try {...} ... |
| pre | cflow.cs:150:13:150:37 | call to method WriteLine | cflow.cs:249:17:249:40 | Double temp = ... |
| pre | cflow.cs:150:13:150:37 | call to method WriteLine | cflow.cs:249:24:249:40 | ... / ... |
| pre | cflow.cs:150:13:150:37 | call to method WriteLine | cflow.cs:251:9:254:9 | catch {...} |
| pre | cflow.cs:153:9:155:9 | [finally: exception(Exception)] {...} | cflow.cs:153:9:155:9 | [finally: exception(Exception)] {...} | | pre | cflow.cs:153:9:155:9 | [finally: exception(Exception)] {...} | cflow.cs:153:9:155:9 | [finally: exception(Exception)] {...} |
| pre | cflow.cs:153:9:155:9 | [finally: exception(OutOfMemoryException)] {...} | cflow.cs:153:9:155:9 | [finally: exception(OutOfMemoryException)] {...} | | pre | cflow.cs:153:9:155:9 | [finally: exception(OutOfMemoryException)] {...} | cflow.cs:153:9:155:9 | [finally: exception(OutOfMemoryException)] {...} |
| pre | cflow.cs:153:9:155:9 | {...} | cflow.cs:153:9:155:9 | {...} | | pre | cflow.cs:153:9:155:9 | {...} | cflow.cs:153:9:155:9 | {...} |
@ -2723,9 +2711,6 @@
| pre | cflow.cs:153:9:155:9 | {...} | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; | | pre | cflow.cs:153:9:155:9 | {...} | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; |
| pre | cflow.cs:153:9:155:9 | {...} | cflow.cs:244:17:244:37 | [finally: return] ...; | | pre | cflow.cs:153:9:155:9 | {...} | cflow.cs:244:17:244:37 | [finally: return] ...; |
| pre | cflow.cs:153:9:155:9 | {...} | cflow.cs:247:9:254:9 | try {...} ... | | pre | cflow.cs:153:9:155:9 | {...} | cflow.cs:247:9:254:9 | try {...} ... |
| pre | cflow.cs:153:9:155:9 | {...} | cflow.cs:249:17:249:40 | Double temp = ... |
| pre | cflow.cs:153:9:155:9 | {...} | cflow.cs:249:24:249:40 | ... / ... |
| pre | cflow.cs:153:9:155:9 | {...} | cflow.cs:251:9:254:9 | catch {...} |
| pre | cflow.cs:159:13:159:37 | call to method WriteLine | cflow.cs:159:13:159:37 | call to method WriteLine | | pre | cflow.cs:159:13:159:37 | call to method WriteLine | cflow.cs:159:13:159:37 | call to method WriteLine |
| pre | cflow.cs:159:13:159:37 | call to method WriteLine | cflow.cs:160:13:160:19 | return ...; | | pre | cflow.cs:159:13:159:37 | call to method WriteLine | cflow.cs:160:13:160:19 | return ...; |
| pre | cflow.cs:159:13:159:37 | call to method WriteLine | cflow.cs:162:9:165:9 | [exception: Exception] catch (...) {...} | | pre | cflow.cs:159:13:159:37 | call to method WriteLine | cflow.cs:162:9:165:9 | [exception: Exception] catch (...) {...} |
@ -2805,9 +2790,6 @@
| pre | cflow.cs:178:9:179:9 | {...} | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; | | pre | cflow.cs:178:9:179:9 | {...} | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; |
| pre | cflow.cs:178:9:179:9 | {...} | cflow.cs:244:17:244:37 | [finally: return] ...; | | pre | cflow.cs:178:9:179:9 | {...} | cflow.cs:244:17:244:37 | [finally: return] ...; |
| pre | cflow.cs:178:9:179:9 | {...} | cflow.cs:247:9:254:9 | try {...} ... | | pre | cflow.cs:178:9:179:9 | {...} | cflow.cs:247:9:254:9 | try {...} ... |
| pre | cflow.cs:178:9:179:9 | {...} | cflow.cs:249:17:249:40 | Double temp = ... |
| pre | cflow.cs:178:9:179:9 | {...} | cflow.cs:249:24:249:40 | ... / ... |
| pre | cflow.cs:178:9:179:9 | {...} | cflow.cs:251:9:254:9 | catch {...} |
| pre | cflow.cs:191:13:191:37 | call to method WriteLine | cflow.cs:191:13:191:37 | call to method WriteLine | | pre | cflow.cs:191:13:191:37 | call to method WriteLine | cflow.cs:191:13:191:37 | call to method WriteLine |
| pre | cflow.cs:191:13:191:37 | call to method WriteLine | cflow.cs:192:13:192:19 | return ...; | | pre | cflow.cs:191:13:191:37 | call to method WriteLine | cflow.cs:192:13:192:19 | return ...; |
| pre | cflow.cs:191:13:191:37 | call to method WriteLine | cflow.cs:194:9:197:9 | [exception: Exception] catch (...) {...} | | pre | cflow.cs:191:13:191:37 | call to method WriteLine | cflow.cs:194:9:197:9 | [exception: Exception] catch (...) {...} |
@ -2874,9 +2856,6 @@
| pre | cflow.cs:199:9:200:9 | {...} | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; | | pre | cflow.cs:199:9:200:9 | {...} | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; |
| pre | cflow.cs:199:9:200:9 | {...} | cflow.cs:244:17:244:37 | [finally: return] ...; | | pre | cflow.cs:199:9:200:9 | {...} | cflow.cs:244:17:244:37 | [finally: return] ...; |
| pre | cflow.cs:199:9:200:9 | {...} | cflow.cs:247:9:254:9 | try {...} ... | | pre | cflow.cs:199:9:200:9 | {...} | cflow.cs:247:9:254:9 | try {...} ... |
| pre | cflow.cs:199:9:200:9 | {...} | cflow.cs:249:17:249:40 | Double temp = ... |
| pre | cflow.cs:199:9:200:9 | {...} | cflow.cs:249:24:249:40 | ... / ... |
| pre | cflow.cs:199:9:200:9 | {...} | cflow.cs:251:9:254:9 | catch {...} |
| pre | cflow.cs:202:9:204:9 | [finally: exception(Exception)] {...} | cflow.cs:202:9:204:9 | [finally: exception(Exception)] {...} | | pre | cflow.cs:202:9:204:9 | [finally: exception(Exception)] {...} | cflow.cs:202:9:204:9 | [finally: exception(Exception)] {...} |
| pre | cflow.cs:202:9:204:9 | [finally: exception(OutOfMemoryException)] {...} | cflow.cs:202:9:204:9 | [finally: exception(OutOfMemoryException)] {...} | | pre | cflow.cs:202:9:204:9 | [finally: exception(OutOfMemoryException)] {...} | cflow.cs:202:9:204:9 | [finally: exception(OutOfMemoryException)] {...} |
| pre | cflow.cs:207:16:207:16 | access to local variable i | cflow.cs:207:16:207:16 | access to local variable i | | pre | cflow.cs:207:16:207:16 | access to local variable i | cflow.cs:207:16:207:16 | access to local variable i |
@ -2928,9 +2907,6 @@
| pre | cflow.cs:207:16:207:16 | access to local variable i | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; | | pre | cflow.cs:207:16:207:16 | access to local variable i | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; |
| pre | cflow.cs:207:16:207:16 | access to local variable i | cflow.cs:244:17:244:37 | [finally: return] ...; | | pre | cflow.cs:207:16:207:16 | access to local variable i | cflow.cs:244:17:244:37 | [finally: return] ...; |
| pre | cflow.cs:207:16:207:16 | access to local variable i | cflow.cs:247:9:254:9 | try {...} ... | | pre | cflow.cs:207:16:207:16 | access to local variable i | cflow.cs:247:9:254:9 | try {...} ... |
| pre | cflow.cs:207:16:207:16 | access to local variable i | cflow.cs:249:17:249:40 | Double temp = ... |
| pre | cflow.cs:207:16:207:16 | access to local variable i | cflow.cs:249:24:249:40 | ... / ... |
| pre | cflow.cs:207:16:207:16 | access to local variable i | cflow.cs:251:9:254:9 | catch {...} |
| pre | cflow.cs:208:9:230:9 | {...} | cflow.cs:208:9:230:9 | {...} | | pre | cflow.cs:208:9:230:9 | {...} | cflow.cs:208:9:230:9 | {...} |
| pre | cflow.cs:208:9:230:9 | {...} | cflow.cs:212:21:212:27 | return ...; | | pre | cflow.cs:208:9:230:9 | {...} | cflow.cs:212:21:212:27 | return ...; |
| pre | cflow.cs:208:9:230:9 | {...} | cflow.cs:213:17:214:29 | if (...) ... | | pre | cflow.cs:208:9:230:9 | {...} | cflow.cs:213:17:214:29 | if (...) ... |
@ -3035,9 +3011,6 @@
| pre | cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; | | pre | cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; |
| pre | cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:244:17:244:37 | [finally: return] ...; | | pre | cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:244:17:244:37 | [finally: return] ...; |
| pre | cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:247:9:254:9 | try {...} ... | | pre | cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:247:9:254:9 | try {...} ... |
| pre | cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:249:17:249:40 | Double temp = ... |
| pre | cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:249:24:249:40 | ... / ... |
| pre | cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:251:9:254:9 | catch {...} |
| pre | cflow.cs:234:17:234:28 | access to property Length | cflow.cs:234:17:234:28 | access to property Length | | pre | cflow.cs:234:17:234:28 | access to property Length | cflow.cs:234:17:234:28 | access to property Length |
| pre | cflow.cs:234:17:234:28 | access to property Length | cflow.cs:234:33:234:33 | 0 | | pre | cflow.cs:234:17:234:28 | access to property Length | cflow.cs:234:33:234:33 | 0 |
| pre | cflow.cs:234:17:234:28 | access to property Length | cflow.cs:235:17:235:23 | return ...; | | pre | cflow.cs:234:17:234:28 | access to property Length | cflow.cs:235:17:235:23 | return ...; |
@ -3061,9 +3034,6 @@
| pre | cflow.cs:234:17:234:28 | access to property Length | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; | | pre | cflow.cs:234:17:234:28 | access to property Length | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; |
| pre | cflow.cs:234:17:234:28 | access to property Length | cflow.cs:244:17:244:37 | [finally: return] ...; | | pre | cflow.cs:234:17:234:28 | access to property Length | cflow.cs:244:17:244:37 | [finally: return] ...; |
| pre | cflow.cs:234:17:234:28 | access to property Length | cflow.cs:247:9:254:9 | try {...} ... | | pre | cflow.cs:234:17:234:28 | access to property Length | cflow.cs:247:9:254:9 | try {...} ... |
| pre | cflow.cs:234:17:234:28 | access to property Length | cflow.cs:249:17:249:40 | Double temp = ... |
| pre | cflow.cs:234:17:234:28 | access to property Length | cflow.cs:249:24:249:40 | ... / ... |
| pre | cflow.cs:234:17:234:28 | access to property Length | cflow.cs:251:9:254:9 | catch {...} |
| pre | cflow.cs:234:33:234:33 | 0 | cflow.cs:234:33:234:33 | 0 | | pre | cflow.cs:234:33:234:33 | 0 | cflow.cs:234:33:234:33 | 0 |
| pre | cflow.cs:234:33:234:33 | 0 | cflow.cs:235:17:235:23 | return ...; | | pre | cflow.cs:234:33:234:33 | 0 | cflow.cs:235:17:235:23 | return ...; |
| pre | cflow.cs:234:33:234:33 | 0 | cflow.cs:236:13:237:49 | if (...) ... | | pre | cflow.cs:234:33:234:33 | 0 | cflow.cs:236:13:237:49 | if (...) ... |
@ -3082,9 +3052,6 @@
| pre | cflow.cs:234:33:234:33 | 0 | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; | | pre | cflow.cs:234:33:234:33 | 0 | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; |
| pre | cflow.cs:234:33:234:33 | 0 | cflow.cs:244:17:244:37 | [finally: return] ...; | | pre | cflow.cs:234:33:234:33 | 0 | cflow.cs:244:17:244:37 | [finally: return] ...; |
| pre | cflow.cs:234:33:234:33 | 0 | cflow.cs:247:9:254:9 | try {...} ... | | pre | cflow.cs:234:33:234:33 | 0 | cflow.cs:247:9:254:9 | try {...} ... |
| pre | cflow.cs:234:33:234:33 | 0 | cflow.cs:249:17:249:40 | Double temp = ... |
| pre | cflow.cs:234:33:234:33 | 0 | cflow.cs:249:24:249:40 | ... / ... |
| pre | cflow.cs:234:33:234:33 | 0 | cflow.cs:251:9:254:9 | catch {...} |
| pre | cflow.cs:235:17:235:23 | return ...; | cflow.cs:235:17:235:23 | return ...; | | pre | cflow.cs:235:17:235:23 | return ...; | cflow.cs:235:17:235:23 | return ...; |
| pre | cflow.cs:235:17:235:23 | return ...; | cflow.cs:242:17:242:41 | [finally: return] ...; | | pre | cflow.cs:235:17:235:23 | return ...; | cflow.cs:242:17:242:41 | [finally: return] ...; |
| pre | cflow.cs:235:17:235:23 | return ...; | cflow.cs:243:13:244:37 | [finally: return] if (...) ... | | pre | cflow.cs:235:17:235:23 | return ...; | cflow.cs:243:13:244:37 | [finally: return] if (...) ... |
@ -3102,9 +3069,6 @@
| pre | cflow.cs:236:13:237:49 | if (...) ... | cflow.cs:244:17:244:37 | ...; | | pre | cflow.cs:236:13:237:49 | if (...) ... | cflow.cs:244:17:244:37 | ...; |
| pre | cflow.cs:236:13:237:49 | if (...) ... | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; | | pre | cflow.cs:236:13:237:49 | if (...) ... | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; |
| pre | cflow.cs:236:13:237:49 | if (...) ... | cflow.cs:247:9:254:9 | try {...} ... | | pre | cflow.cs:236:13:237:49 | if (...) ... | cflow.cs:247:9:254:9 | try {...} ... |
| pre | cflow.cs:236:13:237:49 | if (...) ... | cflow.cs:249:17:249:40 | Double temp = ... |
| pre | cflow.cs:236:13:237:49 | if (...) ... | cflow.cs:249:24:249:40 | ... / ... |
| pre | cflow.cs:236:13:237:49 | if (...) ... | cflow.cs:251:9:254:9 | catch {...} |
| pre | cflow.cs:236:17:236:28 | access to property Length | cflow.cs:236:17:236:28 | access to property Length | | pre | cflow.cs:236:17:236:28 | access to property Length | cflow.cs:236:17:236:28 | access to property Length |
| pre | cflow.cs:236:17:236:28 | access to property Length | cflow.cs:236:33:236:33 | 1 | | pre | cflow.cs:236:17:236:28 | access to property Length | cflow.cs:236:33:236:33 | 1 |
| pre | cflow.cs:236:17:236:28 | access to property Length | cflow.cs:237:17:237:49 | throw ...; | | pre | cflow.cs:236:17:236:28 | access to property Length | cflow.cs:237:17:237:49 | throw ...; |
@ -3117,9 +3081,6 @@
| pre | cflow.cs:236:17:236:28 | access to property Length | cflow.cs:244:17:244:37 | ...; | | pre | cflow.cs:236:17:236:28 | access to property Length | cflow.cs:244:17:244:37 | ...; |
| pre | cflow.cs:236:17:236:28 | access to property Length | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; | | pre | cflow.cs:236:17:236:28 | access to property Length | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; |
| pre | cflow.cs:236:17:236:28 | access to property Length | cflow.cs:247:9:254:9 | try {...} ... | | pre | cflow.cs:236:17:236:28 | access to property Length | cflow.cs:247:9:254:9 | try {...} ... |
| pre | cflow.cs:236:17:236:28 | access to property Length | cflow.cs:249:17:249:40 | Double temp = ... |
| pre | cflow.cs:236:17:236:28 | access to property Length | cflow.cs:249:24:249:40 | ... / ... |
| pre | cflow.cs:236:17:236:28 | access to property Length | cflow.cs:251:9:254:9 | catch {...} |
| pre | cflow.cs:236:33:236:33 | 1 | cflow.cs:236:33:236:33 | 1 | | pre | cflow.cs:236:33:236:33 | 1 | cflow.cs:236:33:236:33 | 1 |
| pre | cflow.cs:236:33:236:33 | 1 | cflow.cs:237:17:237:49 | throw ...; | | pre | cflow.cs:236:33:236:33 | 1 | cflow.cs:237:17:237:49 | throw ...; |
| pre | cflow.cs:236:33:236:33 | 1 | cflow.cs:237:23:237:48 | object creation of type OutOfMemoryException | | pre | cflow.cs:236:33:236:33 | 1 | cflow.cs:237:23:237:48 | object creation of type OutOfMemoryException |
@ -3131,9 +3092,6 @@
| pre | cflow.cs:236:33:236:33 | 1 | cflow.cs:244:17:244:37 | ...; | | pre | cflow.cs:236:33:236:33 | 1 | cflow.cs:244:17:244:37 | ...; |
| pre | cflow.cs:236:33:236:33 | 1 | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; | | pre | cflow.cs:236:33:236:33 | 1 | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; |
| pre | cflow.cs:236:33:236:33 | 1 | cflow.cs:247:9:254:9 | try {...} ... | | pre | cflow.cs:236:33:236:33 | 1 | cflow.cs:247:9:254:9 | try {...} ... |
| pre | cflow.cs:236:33:236:33 | 1 | cflow.cs:249:17:249:40 | Double temp = ... |
| pre | cflow.cs:236:33:236:33 | 1 | cflow.cs:249:24:249:40 | ... / ... |
| pre | cflow.cs:236:33:236:33 | 1 | cflow.cs:251:9:254:9 | catch {...} |
| pre | cflow.cs:237:17:237:49 | throw ...; | cflow.cs:237:17:237:49 | throw ...; | | pre | cflow.cs:237:17:237:49 | throw ...; | cflow.cs:237:17:237:49 | throw ...; |
| pre | cflow.cs:237:17:237:49 | throw ...; | cflow.cs:242:17:242:41 | [finally: exception(OutOfMemoryException)] ...; | | pre | cflow.cs:237:17:237:49 | throw ...; | cflow.cs:242:17:242:41 | [finally: exception(OutOfMemoryException)] ...; |
| pre | cflow.cs:237:17:237:49 | throw ...; | cflow.cs:243:13:244:37 | [finally: exception(OutOfMemoryException)] if (...) ... | | pre | cflow.cs:237:17:237:49 | throw ...; | cflow.cs:243:13:244:37 | [finally: exception(OutOfMemoryException)] if (...) ... |
@ -3156,9 +3114,6 @@
| pre | cflow.cs:240:9:245:9 | {...} | cflow.cs:243:13:244:37 | if (...) ... | | pre | cflow.cs:240:9:245:9 | {...} | cflow.cs:243:13:244:37 | if (...) ... |
| pre | cflow.cs:240:9:245:9 | {...} | cflow.cs:244:17:244:37 | ...; | | pre | cflow.cs:240:9:245:9 | {...} | cflow.cs:244:17:244:37 | ...; |
| pre | cflow.cs:240:9:245:9 | {...} | cflow.cs:247:9:254:9 | try {...} ... | | pre | cflow.cs:240:9:245:9 | {...} | cflow.cs:247:9:254:9 | try {...} ... |
| pre | cflow.cs:240:9:245:9 | {...} | cflow.cs:249:17:249:40 | Double temp = ... |
| pre | cflow.cs:240:9:245:9 | {...} | cflow.cs:249:24:249:40 | ... / ... |
| pre | cflow.cs:240:9:245:9 | {...} | cflow.cs:251:9:254:9 | catch {...} |
| pre | cflow.cs:242:17:242:41 | ...; | cflow.cs:242:17:242:41 | ...; | | pre | cflow.cs:242:17:242:41 | ...; | cflow.cs:242:17:242:41 | ...; |
| pre | cflow.cs:242:17:242:41 | [finally: exception(Exception)] ...; | cflow.cs:242:17:242:41 | [finally: exception(Exception)] ...; | | pre | cflow.cs:242:17:242:41 | [finally: exception(Exception)] ...; | cflow.cs:242:17:242:41 | [finally: exception(Exception)] ...; |
| pre | cflow.cs:242:17:242:41 | [finally: exception(NullReferenceException)] ...; | cflow.cs:242:17:242:41 | [finally: exception(NullReferenceException)] ...; | | pre | cflow.cs:242:17:242:41 | [finally: exception(NullReferenceException)] ...; | cflow.cs:242:17:242:41 | [finally: exception(NullReferenceException)] ...; |
@ -3175,22 +3130,12 @@
| pre | cflow.cs:243:13:244:37 | if (...) ... | cflow.cs:243:13:244:37 | if (...) ... | | pre | cflow.cs:243:13:244:37 | if (...) ... | cflow.cs:243:13:244:37 | if (...) ... |
| pre | cflow.cs:243:13:244:37 | if (...) ... | cflow.cs:244:17:244:37 | ...; | | pre | cflow.cs:243:13:244:37 | if (...) ... | cflow.cs:244:17:244:37 | ...; |
| pre | cflow.cs:243:13:244:37 | if (...) ... | cflow.cs:247:9:254:9 | try {...} ... | | pre | cflow.cs:243:13:244:37 | if (...) ... | cflow.cs:247:9:254:9 | try {...} ... |
| pre | cflow.cs:243:13:244:37 | if (...) ... | cflow.cs:249:17:249:40 | Double temp = ... |
| pre | cflow.cs:243:13:244:37 | if (...) ... | cflow.cs:249:24:249:40 | ... / ... |
| pre | cflow.cs:243:13:244:37 | if (...) ... | cflow.cs:251:9:254:9 | catch {...} |
| pre | cflow.cs:244:17:244:37 | ...; | cflow.cs:244:17:244:37 | ...; | | pre | cflow.cs:244:17:244:37 | ...; | cflow.cs:244:17:244:37 | ...; |
| pre | cflow.cs:244:17:244:37 | [finally: exception(Exception)] ...; | cflow.cs:244:17:244:37 | [finally: exception(Exception)] ...; | | pre | cflow.cs:244:17:244:37 | [finally: exception(Exception)] ...; | cflow.cs:244:17:244:37 | [finally: exception(Exception)] ...; |
| pre | cflow.cs:244:17:244:37 | [finally: exception(NullReferenceException)] ...; | cflow.cs:244:17:244:37 | [finally: exception(NullReferenceException)] ...; | | pre | cflow.cs:244:17:244:37 | [finally: exception(NullReferenceException)] ...; | cflow.cs:244:17:244:37 | [finally: exception(NullReferenceException)] ...; |
| pre | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; | | pre | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; |
| pre | cflow.cs:244:17:244:37 | [finally: return] ...; | cflow.cs:244:17:244:37 | [finally: return] ...; | | pre | cflow.cs:244:17:244:37 | [finally: return] ...; | cflow.cs:244:17:244:37 | [finally: return] ...; |
| pre | cflow.cs:247:9:254:9 | try {...} ... | cflow.cs:247:9:254:9 | try {...} ... | | pre | cflow.cs:247:9:254:9 | try {...} ... | cflow.cs:247:9:254:9 | try {...} ... |
| pre | cflow.cs:247:9:254:9 | try {...} ... | cflow.cs:249:17:249:40 | Double temp = ... |
| pre | cflow.cs:247:9:254:9 | try {...} ... | cflow.cs:249:24:249:40 | ... / ... |
| pre | cflow.cs:247:9:254:9 | try {...} ... | cflow.cs:251:9:254:9 | catch {...} |
| pre | cflow.cs:249:17:249:40 | Double temp = ... | cflow.cs:249:17:249:40 | Double temp = ... |
| pre | cflow.cs:249:24:249:40 | ... / ... | cflow.cs:249:17:249:40 | Double temp = ... |
| pre | cflow.cs:249:24:249:40 | ... / ... | cflow.cs:249:24:249:40 | ... / ... |
| pre | cflow.cs:251:9:254:9 | catch {...} | cflow.cs:251:9:254:9 | catch {...} |
| pre | cflow.cs:257:10:257:12 | enter For | cflow.cs:257:10:257:12 | enter For | | pre | cflow.cs:257:10:257:12 | enter For | cflow.cs:257:10:257:12 | enter For |
| pre | cflow.cs:257:10:257:12 | enter For | cflow.cs:257:10:257:12 | exit For | | pre | cflow.cs:257:10:257:12 | enter For | cflow.cs:257:10:257:12 | exit For |
| pre | cflow.cs:257:10:257:12 | enter For | cflow.cs:260:16:260:16 | access to local variable x | | pre | cflow.cs:257:10:257:12 | enter For | cflow.cs:260:16:260:16 | access to local variable x |

Просмотреть файл

@ -529,9 +529,6 @@
| cflow.cs:234:17:234:33 | ... == ... | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; | false | | cflow.cs:234:17:234:33 | ... == ... | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; | false |
| cflow.cs:234:17:234:33 | ... == ... | cflow.cs:244:17:244:37 | [finally: return] ...; | true | | cflow.cs:234:17:234:33 | ... == ... | cflow.cs:244:17:244:37 | [finally: return] ...; | true |
| cflow.cs:234:17:234:33 | ... == ... | cflow.cs:247:9:254:9 | try {...} ... | false | | cflow.cs:234:17:234:33 | ... == ... | cflow.cs:247:9:254:9 | try {...} ... | false |
| cflow.cs:234:17:234:33 | ... == ... | cflow.cs:249:17:249:40 | Double temp = ... | false |
| cflow.cs:234:17:234:33 | ... == ... | cflow.cs:249:24:249:40 | ... / ... | false |
| cflow.cs:234:17:234:33 | ... == ... | cflow.cs:251:9:254:9 | catch {...} | false |
| cflow.cs:236:17:236:33 | ... == ... | cflow.cs:237:17:237:49 | throw ...; | true | | cflow.cs:236:17:236:33 | ... == ... | cflow.cs:237:17:237:49 | throw ...; | true |
| cflow.cs:236:17:236:33 | ... == ... | cflow.cs:237:23:237:48 | object creation of type OutOfMemoryException | true | | cflow.cs:236:17:236:33 | ... == ... | cflow.cs:237:23:237:48 | object creation of type OutOfMemoryException | true |
| cflow.cs:236:17:236:33 | ... == ... | cflow.cs:240:9:245:9 | {...} | false | | cflow.cs:236:17:236:33 | ... == ... | cflow.cs:240:9:245:9 | {...} | false |
@ -542,9 +539,6 @@
| cflow.cs:236:17:236:33 | ... == ... | cflow.cs:244:17:244:37 | ...; | false | | cflow.cs:236:17:236:33 | ... == ... | cflow.cs:244:17:244:37 | ...; | false |
| cflow.cs:236:17:236:33 | ... == ... | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; | true | | cflow.cs:236:17:236:33 | ... == ... | cflow.cs:244:17:244:37 | [finally: exception(OutOfMemoryException)] ...; | true |
| cflow.cs:236:17:236:33 | ... == ... | cflow.cs:247:9:254:9 | try {...} ... | false | | cflow.cs:236:17:236:33 | ... == ... | cflow.cs:247:9:254:9 | try {...} ... | false |
| cflow.cs:236:17:236:33 | ... == ... | cflow.cs:249:17:249:40 | Double temp = ... | false |
| cflow.cs:236:17:236:33 | ... == ... | cflow.cs:249:24:249:40 | ... / ... | false |
| cflow.cs:236:17:236:33 | ... == ... | cflow.cs:251:9:254:9 | catch {...} | false |
| cflow.cs:241:19:241:35 | ... == ... | cflow.cs:242:17:242:41 | ...; | false | | cflow.cs:241:19:241:35 | ... == ... | cflow.cs:242:17:242:41 | ...; | false |
| cflow.cs:241:19:241:35 | [finally: exception(Exception)] ... == ... | cflow.cs:242:17:242:41 | [finally: exception(Exception)] ...; | false | | cflow.cs:241:19:241:35 | [finally: exception(Exception)] ... == ... | cflow.cs:242:17:242:41 | [finally: exception(Exception)] ...; | false |
| cflow.cs:241:19:241:35 | [finally: exception(NullReferenceException)] ... == ... | cflow.cs:242:17:242:41 | [finally: exception(NullReferenceException)] ...; | false | | cflow.cs:241:19:241:35 | [finally: exception(NullReferenceException)] ... == ... | cflow.cs:242:17:242:41 | [finally: exception(NullReferenceException)] ...; | false |

Просмотреть файл

@ -1628,7 +1628,6 @@
| post | cflow.cs:146:10:146:19 | exit TryFinally | cflow.cs:244:17:244:36 | [finally: exception(OutOfMemoryException)] call to method WriteLine | | post | cflow.cs:146:10:146:19 | exit TryFinally | cflow.cs:244:17:244:36 | [finally: exception(OutOfMemoryException)] call to method WriteLine |
| post | cflow.cs:146:10:146:19 | exit TryFinally | cflow.cs:244:17:244:36 | [finally: return] call to method WriteLine | | post | cflow.cs:146:10:146:19 | exit TryFinally | cflow.cs:244:17:244:36 | [finally: return] call to method WriteLine |
| post | cflow.cs:146:10:146:19 | exit TryFinally | cflow.cs:249:17:249:40 | Double temp = ... | | post | cflow.cs:146:10:146:19 | exit TryFinally | cflow.cs:249:17:249:40 | Double temp = ... |
| post | cflow.cs:146:10:146:19 | exit TryFinally | cflow.cs:253:13:253:13 | ; |
| post | cflow.cs:147:5:255:5 | {...} | cflow.cs:146:10:146:19 | enter TryFinally | | post | cflow.cs:147:5:255:5 | {...} | cflow.cs:146:10:146:19 | enter TryFinally |
| post | cflow.cs:148:9:155:9 | try {...} ... | cflow.cs:147:5:255:5 | {...} | | post | cflow.cs:148:9:155:9 | try {...} ... | cflow.cs:147:5:255:5 | {...} |
| post | cflow.cs:149:9:151:9 | {...} | cflow.cs:148:9:155:9 | try {...} ... | | post | cflow.cs:149:9:151:9 | {...} | cflow.cs:148:9:155:9 | try {...} ... |
@ -1899,11 +1898,11 @@
| post | cflow.cs:248:9:250:9 | {...} | cflow.cs:247:9:254:9 | try {...} ... | | post | cflow.cs:248:9:250:9 | {...} | cflow.cs:247:9:254:9 | try {...} ... |
| post | cflow.cs:249:13:249:41 | ... ...; | cflow.cs:248:9:250:9 | {...} | | post | cflow.cs:249:13:249:41 | ... ...; | cflow.cs:248:9:250:9 | {...} |
| post | cflow.cs:249:17:249:20 | access to local variable temp | cflow.cs:249:13:249:41 | ... ...; | | post | cflow.cs:249:17:249:20 | access to local variable temp | cflow.cs:249:13:249:41 | ... ...; |
| post | cflow.cs:249:17:249:40 | Double temp = ... | cflow.cs:249:24:249:40 | ... / ... |
| post | cflow.cs:249:24:249:24 | 0 | cflow.cs:249:17:249:20 | access to local variable temp | | post | cflow.cs:249:24:249:24 | 0 | cflow.cs:249:17:249:20 | access to local variable temp |
| post | cflow.cs:249:24:249:24 | (...) ... | cflow.cs:249:24:249:24 | 0 | | post | cflow.cs:249:24:249:24 | (...) ... | cflow.cs:249:24:249:24 | 0 |
| post | cflow.cs:249:24:249:40 | ... / ... | cflow.cs:249:28:249:40 | access to constant E |
| post | cflow.cs:249:28:249:40 | access to constant E | cflow.cs:249:24:249:24 | (...) ... | | post | cflow.cs:249:28:249:40 | access to constant E | cflow.cs:249:24:249:24 | (...) ... |
| post | cflow.cs:252:9:254:9 | {...} | cflow.cs:251:9:254:9 | catch {...} |
| post | cflow.cs:253:13:253:13 | ; | cflow.cs:252:9:254:9 | {...} |
| post | cflow.cs:257:10:257:12 | exit For | cflow.cs:284:32:284:41 | ... < ... | | post | cflow.cs:257:10:257:12 | exit For | cflow.cs:284:32:284:41 | ... < ... |
| post | cflow.cs:258:5:288:5 | {...} | cflow.cs:257:10:257:12 | enter For | | post | cflow.cs:258:5:288:5 | {...} | cflow.cs:257:10:257:12 | enter For |
| post | cflow.cs:259:9:259:18 | ... ...; | cflow.cs:258:5:288:5 | {...} | | post | cflow.cs:259:9:259:18 | ... ...; | cflow.cs:258:5:288:5 | {...} |
@ -4212,9 +4211,6 @@
| pre | cflow.cs:249:24:249:24 | (...) ... | cflow.cs:249:28:249:40 | access to constant E | | pre | cflow.cs:249:24:249:24 | (...) ... | cflow.cs:249:28:249:40 | access to constant E |
| pre | cflow.cs:249:24:249:40 | ... / ... | cflow.cs:249:17:249:40 | Double temp = ... | | pre | cflow.cs:249:24:249:40 | ... / ... | cflow.cs:249:17:249:40 | Double temp = ... |
| pre | cflow.cs:249:28:249:40 | access to constant E | cflow.cs:249:24:249:40 | ... / ... | | pre | cflow.cs:249:28:249:40 | access to constant E | cflow.cs:249:24:249:40 | ... / ... |
| pre | cflow.cs:249:28:249:40 | access to constant E | cflow.cs:251:9:254:9 | catch {...} |
| pre | cflow.cs:251:9:254:9 | catch {...} | cflow.cs:252:9:254:9 | {...} |
| pre | cflow.cs:252:9:254:9 | {...} | cflow.cs:253:13:253:13 | ; |
| pre | cflow.cs:257:10:257:12 | enter For | cflow.cs:258:5:288:5 | {...} | | pre | cflow.cs:257:10:257:12 | enter For | cflow.cs:258:5:288:5 | {...} |
| pre | cflow.cs:258:5:288:5 | {...} | cflow.cs:259:9:259:18 | ... ...; | | pre | cflow.cs:258:5:288:5 | {...} | cflow.cs:259:9:259:18 | ... ...; |
| pre | cflow.cs:259:9:259:18 | ... ...; | cflow.cs:259:13:259:13 | access to local variable x | | pre | cflow.cs:259:9:259:18 | ... ...; | cflow.cs:259:13:259:13 | access to local variable x |

Просмотреть файл

@ -1576,11 +1576,7 @@
| cflow.cs:249:24:249:24 | 0 | cflow.cs:249:24:249:24 | (...) ... | semmle.label | successor | | cflow.cs:249:24:249:24 | 0 | cflow.cs:249:24:249:24 | (...) ... | semmle.label | successor |
| cflow.cs:249:24:249:24 | (...) ... | cflow.cs:249:28:249:40 | access to constant E | semmle.label | successor | | cflow.cs:249:24:249:24 | (...) ... | cflow.cs:249:28:249:40 | access to constant E | semmle.label | successor |
| cflow.cs:249:24:249:40 | ... / ... | cflow.cs:249:17:249:40 | Double temp = ... | semmle.label | successor | | cflow.cs:249:24:249:40 | ... / ... | cflow.cs:249:17:249:40 | Double temp = ... | semmle.label | successor |
| cflow.cs:249:24:249:40 | ... / ... | cflow.cs:251:9:254:9 | catch {...} | semmle.label | exception(DivideByZeroException) |
| cflow.cs:249:28:249:40 | access to constant E | cflow.cs:249:24:249:40 | ... / ... | semmle.label | successor | | cflow.cs:249:28:249:40 | access to constant E | cflow.cs:249:24:249:40 | ... / ... | semmle.label | successor |
| cflow.cs:249:28:249:40 | access to constant E | cflow.cs:251:9:254:9 | catch {...} | semmle.label | exception(NullReferenceException) |
| cflow.cs:251:9:254:9 | catch {...} | cflow.cs:252:9:254:9 | {...} | semmle.label | successor |
| cflow.cs:252:9:254:9 | {...} | cflow.cs:253:13:253:13 | ; | semmle.label | successor |
| cflow.cs:258:5:288:5 | {...} | cflow.cs:259:9:259:18 | ... ...; | semmle.label | successor | | cflow.cs:258:5:288:5 | {...} | cflow.cs:259:9:259:18 | ... ...; | semmle.label | successor |
| cflow.cs:259:9:259:18 | ... ...; | cflow.cs:259:13:259:13 | access to local variable x | semmle.label | successor | | cflow.cs:259:9:259:18 | ... ...; | cflow.cs:259:13:259:13 | access to local variable x | semmle.label | successor |
| cflow.cs:259:13:259:13 | access to local variable x | cflow.cs:259:17:259:17 | 0 | semmle.label | successor | | cflow.cs:259:13:259:13 | access to local variable x | cflow.cs:259:17:259:17 | 0 | semmle.label | successor |

Просмотреть файл

@ -2192,22 +2192,13 @@
| cflow.cs:247:9:254:9 | try {...} ... | cflow.cs:249:17:249:40 | Double temp = ... | normal | | cflow.cs:247:9:254:9 | try {...} ... | cflow.cs:249:17:249:40 | Double temp = ... | normal |
| cflow.cs:247:9:254:9 | try {...} ... | cflow.cs:253:13:253:13 | ; | normal | | cflow.cs:247:9:254:9 | try {...} ... | cflow.cs:253:13:253:13 | ; | normal |
| cflow.cs:248:9:250:9 | {...} | cflow.cs:249:17:249:40 | Double temp = ... | normal | | cflow.cs:248:9:250:9 | {...} | cflow.cs:249:17:249:40 | Double temp = ... | normal |
| cflow.cs:248:9:250:9 | {...} | cflow.cs:249:24:249:40 | ... / ... | throw(DivideByZeroException) |
| cflow.cs:248:9:250:9 | {...} | cflow.cs:249:28:249:40 | access to constant E | throw(NullReferenceException) |
| cflow.cs:249:13:249:41 | ... ...; | cflow.cs:249:17:249:40 | Double temp = ... | normal | | cflow.cs:249:13:249:41 | ... ...; | cflow.cs:249:17:249:40 | Double temp = ... | normal |
| cflow.cs:249:13:249:41 | ... ...; | cflow.cs:249:24:249:40 | ... / ... | throw(DivideByZeroException) |
| cflow.cs:249:13:249:41 | ... ...; | cflow.cs:249:28:249:40 | access to constant E | throw(NullReferenceException) |
| cflow.cs:249:17:249:20 | access to local variable temp | cflow.cs:249:17:249:20 | access to local variable temp | normal | | cflow.cs:249:17:249:20 | access to local variable temp | cflow.cs:249:17:249:20 | access to local variable temp | normal |
| cflow.cs:249:17:249:40 | Double temp = ... | cflow.cs:249:17:249:40 | Double temp = ... | normal | | cflow.cs:249:17:249:40 | Double temp = ... | cflow.cs:249:17:249:40 | Double temp = ... | normal |
| cflow.cs:249:17:249:40 | Double temp = ... | cflow.cs:249:24:249:40 | ... / ... | throw(DivideByZeroException) |
| cflow.cs:249:17:249:40 | Double temp = ... | cflow.cs:249:28:249:40 | access to constant E | throw(NullReferenceException) |
| cflow.cs:249:24:249:24 | 0 | cflow.cs:249:24:249:24 | 0 | normal | | cflow.cs:249:24:249:24 | 0 | cflow.cs:249:24:249:24 | 0 | normal |
| cflow.cs:249:24:249:24 | (...) ... | cflow.cs:249:24:249:24 | (...) ... | normal | | cflow.cs:249:24:249:24 | (...) ... | cflow.cs:249:24:249:24 | (...) ... | normal |
| cflow.cs:249:24:249:40 | ... / ... | cflow.cs:249:24:249:40 | ... / ... | normal | | cflow.cs:249:24:249:40 | ... / ... | cflow.cs:249:24:249:40 | ... / ... | normal |
| cflow.cs:249:24:249:40 | ... / ... | cflow.cs:249:24:249:40 | ... / ... | throw(DivideByZeroException) |
| cflow.cs:249:24:249:40 | ... / ... | cflow.cs:249:28:249:40 | access to constant E | throw(NullReferenceException) |
| cflow.cs:249:28:249:40 | access to constant E | cflow.cs:249:28:249:40 | access to constant E | normal | | cflow.cs:249:28:249:40 | access to constant E | cflow.cs:249:28:249:40 | access to constant E | normal |
| cflow.cs:249:28:249:40 | access to constant E | cflow.cs:249:28:249:40 | access to constant E | throw(NullReferenceException) |
| cflow.cs:251:9:254:9 | catch {...} | cflow.cs:253:13:253:13 | ; | normal | | cflow.cs:251:9:254:9 | catch {...} | cflow.cs:253:13:253:13 | ; | normal |
| cflow.cs:252:9:254:9 | {...} | cflow.cs:253:13:253:13 | ; | normal | | cflow.cs:252:9:254:9 | {...} | cflow.cs:253:13:253:13 | ; | normal |
| cflow.cs:253:13:253:13 | ; | cflow.cs:253:13:253:13 | ; | normal | | cflow.cs:253:13:253:13 | ; | cflow.cs:253:13:253:13 | ; | normal |

Просмотреть файл

@ -2228,12 +2228,7 @@
| cflow.cs:249:24:249:24 | 0 | cflow.cs:249:24:249:24 | (...) ... | semmle.label | successor | | cflow.cs:249:24:249:24 | 0 | cflow.cs:249:24:249:24 | (...) ... | semmle.label | successor |
| cflow.cs:249:24:249:24 | (...) ... | cflow.cs:249:28:249:40 | access to constant E | semmle.label | successor | | cflow.cs:249:24:249:24 | (...) ... | cflow.cs:249:28:249:40 | access to constant E | semmle.label | successor |
| cflow.cs:249:24:249:40 | ... / ... | cflow.cs:249:17:249:40 | Double temp = ... | semmle.label | successor | | cflow.cs:249:24:249:40 | ... / ... | cflow.cs:249:17:249:40 | Double temp = ... | semmle.label | successor |
| cflow.cs:249:24:249:40 | ... / ... | cflow.cs:251:9:254:9 | catch {...} | semmle.label | exception(DivideByZeroException) |
| cflow.cs:249:28:249:40 | access to constant E | cflow.cs:249:24:249:40 | ... / ... | semmle.label | successor | | cflow.cs:249:28:249:40 | access to constant E | cflow.cs:249:24:249:40 | ... / ... | semmle.label | successor |
| cflow.cs:249:28:249:40 | access to constant E | cflow.cs:251:9:254:9 | catch {...} | semmle.label | exception(NullReferenceException) |
| cflow.cs:251:9:254:9 | catch {...} | cflow.cs:252:9:254:9 | {...} | semmle.label | successor |
| cflow.cs:252:9:254:9 | {...} | cflow.cs:253:13:253:13 | ; | semmle.label | successor |
| cflow.cs:253:13:253:13 | ; | cflow.cs:146:10:146:19 | exit TryFinally | semmle.label | successor |
| cflow.cs:257:10:257:12 | enter For | cflow.cs:258:5:288:5 | {...} | semmle.label | successor | | cflow.cs:257:10:257:12 | enter For | cflow.cs:258:5:288:5 | {...} | semmle.label | successor |
| cflow.cs:258:5:288:5 | {...} | cflow.cs:259:9:259:18 | ... ...; | semmle.label | successor | | cflow.cs:258:5:288:5 | {...} | cflow.cs:259:9:259:18 | ... ...; | semmle.label | successor |
| cflow.cs:259:9:259:18 | ... ...; | cflow.cs:259:13:259:13 | access to local variable x | semmle.label | successor | | cflow.cs:259:9:259:18 | ... ...; | cflow.cs:259:13:259:13 | access to local variable x | semmle.label | successor |

Просмотреть файл

@ -150,6 +150,7 @@
| Test.cs:9:13:9:13 | y | Test.cs:19:13:19:17 | ... = ... | Test.cs:20:13:20:13 | access to local variable y | | Test.cs:9:13:9:13 | y | Test.cs:19:13:19:17 | ... = ... | Test.cs:20:13:20:13 | access to local variable y |
| Test.cs:39:22:39:22 | w | Test.cs:39:22:39:22 | Int32 w | Test.cs:41:23:41:23 | access to local variable w | | Test.cs:39:22:39:22 | w | Test.cs:39:22:39:22 | Int32 w | Test.cs:41:23:41:23 | access to local variable w |
| Test.cs:46:16:46:18 | in | Test.cs:46:16:46:18 | in | Test.cs:48:13:48:15 | access to parameter in | | Test.cs:46:16:46:18 | in | Test.cs:46:16:46:18 | in | Test.cs:48:13:48:15 | access to parameter in |
| Test.cs:62:16:62:16 | x | Test.cs:62:16:62:16 | x | Test.cs:66:28:66:28 | access to parameter x |
| Test.cs:68:45:68:45 | e | Test.cs:68:45:68:45 | DivideByZeroException e | Test.cs:70:17:70:17 | access to local variable e | | Test.cs:68:45:68:45 | e | Test.cs:68:45:68:45 | DivideByZeroException e | Test.cs:70:17:70:17 | access to local variable e |
| Tuples.cs:5:9:5:13 | Field | Tuples.cs:20:9:20:34 | ... = ... | Tuples.cs:22:13:22:17 | access to field Field | | Tuples.cs:5:9:5:13 | Field | Tuples.cs:20:9:20:34 | ... = ... | Tuples.cs:22:13:22:17 | access to field Field |
| Tuples.cs:5:9:5:13 | Field | Tuples.cs:26:9:26:33 | ... = ... | Tuples.cs:27:13:27:17 | access to field Field | | Tuples.cs:5:9:5:13 | Field | Tuples.cs:26:9:26:33 | ... = ... | Tuples.cs:27:13:27:17 | access to field Field |

Просмотреть файл

@ -353,6 +353,7 @@
| Test.cs:46:29:46:32 | out | Test.cs:56:9:56:19 | SSA phi(out) | | Test.cs:46:29:46:32 | out | Test.cs:56:9:56:19 | SSA phi(out) |
| Test.cs:56:13:56:17 | this.field | Test.cs:46:10:46:10 | SSA entry def(this.field) | | Test.cs:56:13:56:17 | this.field | Test.cs:46:10:46:10 | SSA entry def(this.field) |
| Test.cs:56:13:56:17 | this.field | Test.cs:57:9:57:17 | SSA def(this.field) | | Test.cs:56:13:56:17 | this.field | Test.cs:57:9:57:17 | SSA def(this.field) |
| Test.cs:62:16:62:16 | x | Test.cs:62:16:62:16 | SSA param(x) |
| Test.cs:68:45:68:45 | e | Test.cs:68:45:68:45 | [exception: DivideByZeroException] SSA def(e) | | Test.cs:68:45:68:45 | e | Test.cs:68:45:68:45 | [exception: DivideByZeroException] SSA def(e) |
| Tuples.cs:10:14:10:14 | x | Tuples.cs:10:9:10:54 | SSA def(x) | | Tuples.cs:10:14:10:14 | x | Tuples.cs:10:9:10:54 | SSA def(x) |
| Tuples.cs:10:14:10:14 | x | Tuples.cs:14:9:14:32 | SSA def(x) | | Tuples.cs:10:14:10:14 | x | Tuples.cs:14:9:14:32 | SSA def(x) |

Просмотреть файл

@ -324,6 +324,7 @@
| Test.cs:50:13:50:20 | SSA def(out) | Test.cs:50:13:50:20 | ... = ... | | Test.cs:50:13:50:20 | SSA def(out) | Test.cs:50:13:50:20 | ... = ... |
| Test.cs:54:13:54:20 | SSA def(out) | Test.cs:54:13:54:20 | ... = ... | | Test.cs:54:13:54:20 | SSA def(out) | Test.cs:54:13:54:20 | ... = ... |
| Test.cs:57:9:57:17 | SSA def(this.field) | Test.cs:57:9:57:17 | ... = ... | | Test.cs:57:9:57:17 | SSA def(this.field) | Test.cs:57:9:57:17 | ... = ... |
| Test.cs:62:16:62:16 | SSA param(x) | Test.cs:62:16:62:16 | x |
| Test.cs:68:45:68:45 | [exception: DivideByZeroException] SSA def(e) | Test.cs:68:45:68:45 | DivideByZeroException e | | Test.cs:68:45:68:45 | [exception: DivideByZeroException] SSA def(e) | Test.cs:68:45:68:45 | DivideByZeroException e |
| Tuples.cs:10:9:10:54 | SSA def(b) | Tuples.cs:10:9:10:54 | ... = ... | | Tuples.cs:10:9:10:54 | SSA def(b) | Tuples.cs:10:9:10:54 | ... = ... |
| Tuples.cs:10:9:10:54 | SSA def(s) | Tuples.cs:10:9:10:54 | ... = ... | | Tuples.cs:10:9:10:54 | SSA def(s) | Tuples.cs:10:9:10:54 | ... = ... |

Просмотреть файл

@ -245,6 +245,7 @@
| Test.cs:46:16:46:18 | in | Test.cs:46:16:46:18 | SSA param(in) | Test.cs:48:13:48:15 | access to parameter in | | Test.cs:46:16:46:18 | in | Test.cs:46:16:46:18 | SSA param(in) | Test.cs:48:13:48:15 | access to parameter in |
| Test.cs:56:13:56:17 | this.field | Test.cs:46:10:46:10 | SSA entry def(this.field) | Test.cs:56:13:56:17 | access to field field | | Test.cs:56:13:56:17 | this.field | Test.cs:46:10:46:10 | SSA entry def(this.field) | Test.cs:56:13:56:17 | access to field field |
| Test.cs:56:13:56:17 | this.field | Test.cs:57:9:57:17 | SSA def(this.field) | Test.cs:58:13:58:17 | access to field field | | Test.cs:56:13:56:17 | this.field | Test.cs:57:9:57:17 | SSA def(this.field) | Test.cs:58:13:58:17 | access to field field |
| Test.cs:62:16:62:16 | x | Test.cs:62:16:62:16 | SSA param(x) | Test.cs:66:28:66:28 | access to parameter x |
| Test.cs:68:45:68:45 | e | Test.cs:68:45:68:45 | [exception: DivideByZeroException] SSA def(e) | Test.cs:70:17:70:17 | access to local variable e | | Test.cs:68:45:68:45 | e | Test.cs:68:45:68:45 | [exception: DivideByZeroException] SSA def(e) | Test.cs:70:17:70:17 | access to local variable e |
| Tuples.cs:10:14:10:14 | x | Tuples.cs:10:9:10:54 | SSA def(x) | Tuples.cs:11:13:11:13 | access to local variable x | | Tuples.cs:10:14:10:14 | x | Tuples.cs:10:9:10:54 | SSA def(x) | Tuples.cs:11:13:11:13 | access to local variable x |
| Tuples.cs:10:14:10:14 | x | Tuples.cs:14:9:14:32 | SSA def(x) | Tuples.cs:15:13:15:13 | access to local variable x | | Tuples.cs:10:14:10:14 | x | Tuples.cs:14:9:14:32 | SSA def(x) | Tuples.cs:15:13:15:13 | access to local variable x |

Просмотреть файл

@ -219,6 +219,7 @@
| Test.cs:46:29:46:32 | out | Test.cs:50:13:50:20 | SSA def(out) | Test.cs:50:13:50:20 | ... = ... | | Test.cs:46:29:46:32 | out | Test.cs:50:13:50:20 | SSA def(out) | Test.cs:50:13:50:20 | ... = ... |
| Test.cs:46:29:46:32 | out | Test.cs:54:13:54:20 | SSA def(out) | Test.cs:54:13:54:20 | ... = ... | | Test.cs:46:29:46:32 | out | Test.cs:54:13:54:20 | SSA def(out) | Test.cs:54:13:54:20 | ... = ... |
| Test.cs:56:13:56:17 | this.field | Test.cs:57:9:57:17 | SSA def(this.field) | Test.cs:57:9:57:17 | ... = ... | | Test.cs:56:13:56:17 | this.field | Test.cs:57:9:57:17 | SSA def(this.field) | Test.cs:57:9:57:17 | ... = ... |
| Test.cs:62:16:62:16 | x | Test.cs:62:16:62:16 | SSA param(x) | Test.cs:62:16:62:16 | x |
| Test.cs:68:45:68:45 | e | Test.cs:68:45:68:45 | [exception: DivideByZeroException] SSA def(e) | Test.cs:68:45:68:45 | DivideByZeroException e | | Test.cs:68:45:68:45 | e | Test.cs:68:45:68:45 | [exception: DivideByZeroException] SSA def(e) | Test.cs:68:45:68:45 | DivideByZeroException e |
| Tuples.cs:10:14:10:14 | x | Tuples.cs:10:9:10:54 | SSA def(x) | Tuples.cs:10:9:10:54 | ... = ... | | Tuples.cs:10:14:10:14 | x | Tuples.cs:10:9:10:54 | SSA def(x) | Tuples.cs:10:9:10:54 | ... = ... |
| Tuples.cs:10:14:10:14 | x | Tuples.cs:14:9:14:32 | SSA def(x) | Tuples.cs:14:9:14:32 | ... = ... | | Tuples.cs:10:14:10:14 | x | Tuples.cs:14:9:14:32 | SSA def(x) | Tuples.cs:14:9:14:32 | ... = ... |

Просмотреть файл

@ -377,6 +377,7 @@
| Test.cs:46:16:46:18 | in | Test.cs:46:16:46:18 | SSA param(in) | Test.cs:48:13:48:15 | access to parameter in | | Test.cs:46:16:46:18 | in | Test.cs:46:16:46:18 | SSA param(in) | Test.cs:48:13:48:15 | access to parameter in |
| Test.cs:56:13:56:17 | this.field | Test.cs:46:10:46:10 | SSA entry def(this.field) | Test.cs:56:13:56:17 | access to field field | | Test.cs:56:13:56:17 | this.field | Test.cs:46:10:46:10 | SSA entry def(this.field) | Test.cs:56:13:56:17 | access to field field |
| Test.cs:56:13:56:17 | this.field | Test.cs:57:9:57:17 | SSA def(this.field) | Test.cs:58:13:58:17 | access to field field | | Test.cs:56:13:56:17 | this.field | Test.cs:57:9:57:17 | SSA def(this.field) | Test.cs:58:13:58:17 | access to field field |
| Test.cs:62:16:62:16 | x | Test.cs:62:16:62:16 | SSA param(x) | Test.cs:66:28:66:28 | access to parameter x |
| Test.cs:68:45:68:45 | e | Test.cs:68:45:68:45 | [exception: DivideByZeroException] SSA def(e) | Test.cs:70:17:70:17 | access to local variable e | | Test.cs:68:45:68:45 | e | Test.cs:68:45:68:45 | [exception: DivideByZeroException] SSA def(e) | Test.cs:70:17:70:17 | access to local variable e |
| Tuples.cs:10:14:10:14 | x | Tuples.cs:10:9:10:54 | SSA def(x) | Tuples.cs:11:13:11:13 | access to local variable x | | Tuples.cs:10:14:10:14 | x | Tuples.cs:10:9:10:54 | SSA def(x) | Tuples.cs:11:13:11:13 | access to local variable x |
| Tuples.cs:10:14:10:14 | x | Tuples.cs:14:9:14:32 | SSA def(x) | Tuples.cs:15:13:15:13 | access to local variable x | | Tuples.cs:10:14:10:14 | x | Tuples.cs:14:9:14:32 | SSA def(x) | Tuples.cs:15:13:15:13 | access to local variable x |

Просмотреть файл

@ -467,6 +467,7 @@
| Test.cs:46:29:46:32 | out | Test.cs:56:9:56:19 | SSA phi(out) | Test.cs:54:13:54:20 | SSA def(out) | | Test.cs:46:29:46:32 | out | Test.cs:56:9:56:19 | SSA phi(out) | Test.cs:54:13:54:20 | SSA def(out) |
| Test.cs:56:13:56:17 | this.field | Test.cs:46:10:46:10 | SSA entry def(this.field) | Test.cs:46:10:46:10 | SSA entry def(this.field) | | Test.cs:56:13:56:17 | this.field | Test.cs:46:10:46:10 | SSA entry def(this.field) | Test.cs:46:10:46:10 | SSA entry def(this.field) |
| Test.cs:56:13:56:17 | this.field | Test.cs:57:9:57:17 | SSA def(this.field) | Test.cs:57:9:57:17 | SSA def(this.field) | | Test.cs:56:13:56:17 | this.field | Test.cs:57:9:57:17 | SSA def(this.field) | Test.cs:57:9:57:17 | SSA def(this.field) |
| Test.cs:62:16:62:16 | x | Test.cs:62:16:62:16 | SSA param(x) | Test.cs:62:16:62:16 | SSA param(x) |
| Test.cs:68:45:68:45 | e | Test.cs:68:45:68:45 | [exception: DivideByZeroException] SSA def(e) | Test.cs:68:45:68:45 | [exception: DivideByZeroException] SSA def(e) | | Test.cs:68:45:68:45 | e | Test.cs:68:45:68:45 | [exception: DivideByZeroException] SSA def(e) | Test.cs:68:45:68:45 | [exception: DivideByZeroException] SSA def(e) |
| Tuples.cs:10:14:10:14 | x | Tuples.cs:10:9:10:54 | SSA def(x) | Tuples.cs:10:9:10:54 | SSA def(x) | | Tuples.cs:10:14:10:14 | x | Tuples.cs:10:9:10:54 | SSA def(x) | Tuples.cs:10:9:10:54 | SSA def(x) |
| Tuples.cs:10:14:10:14 | x | Tuples.cs:14:9:14:32 | SSA def(x) | Tuples.cs:14:9:14:32 | SSA def(x) | | Tuples.cs:10:14:10:14 | x | Tuples.cs:14:9:14:32 | SSA def(x) | Tuples.cs:14:9:14:32 | SSA def(x) |

Просмотреть файл

@ -59,11 +59,11 @@ class Test
return; return;
} }
void h() void h(int x)
{ {
try try
{ {
var temp = 0 / System.Math.E; var temp = 0 / x;
} }
catch (System.DivideByZeroException e) catch (System.DivideByZeroException e)
{ {