C#: Introduce inherited CFG completions

When completions are inherited by elements inside `finally` blocks, we previously
threw away the underlying completion. For example, in

```
try
{
    if (b)
        throw new Exception();
}
finally
{
    if (b)
        ...
}
```

the completions for `b` inside the `finally` block are `true` and `throw(Exception)`,
where the latter is inherited from the `try` block, with an underlying `false`
completion. Throwing away the `false` completion meant that we were unable to prune
the `false` edge (Boolean CFG splitting).
This commit is contained in:
Tom Hvitved
2019-06-21 13:05:55 +02:00
parent 8d7ea2f49f
commit f91e460869
14 changed files with 618 additions and 441 deletions

View File

@@ -736,6 +736,7 @@ module ControlFlow {
TLastRecBooleanNegationCompletion() or
TLastRecNonBooleanCompletion() or
TLastRecBreakCompletion() or
TLastRecNonBreakCompletion() or
TLastRecSwitchAbnormalCompletion() or
TLastRecInvalidOperationException() or
TLastRecNonContinueCompletion() or
@@ -941,7 +942,7 @@ module ControlFlow {
// Last statement exits with any non-break completion
exists(int last | last = max(int i | exists(ss.getStmt(i))) |
result = ss.getStmt(last) and
c = TRec(TLastRecSpecificNegCompletion(any(BreakCompletion bc)))
c = TRec(TLastRecNonBreakCompletion())
)
)
or
@@ -1098,7 +1099,7 @@ module ControlFlow {
or
result = lastRecSpecific(cfe, c, c)
or
exists(TLastRecComputation rec, Completion c0 | result = lastRec(cfe, c0, rec) |
exists(TLastRecComputation rec, Completion c0 | result = lastRec(rec, cfe, c0) |
rec = TLastRecSpecificNegCompletion(any(Completion c1 | c1 != c0)) and
c = c0
or
@@ -1109,7 +1110,7 @@ module ControlFlow {
c = c0
or
rec = TLastRecAbnormalCompletion() and
not c0 instanceof NormalCompletion and
c0 instanceof AbnormalCompletion and
c = c0
or
rec = TLastRecBooleanNegationCompletion() and
@@ -1128,6 +1129,10 @@ module ControlFlow {
c0 instanceof BreakCompletion and
c instanceof BreakNormalCompletion
or
rec = TLastRecNonBreakCompletion() and
not c0 instanceof BreakCompletion and
c = c0
or
rec = TLastRecSwitchAbnormalCompletion() and
not c instanceof BreakCompletion and
not c instanceof NormalCompletion and
@@ -1137,10 +1142,14 @@ module ControlFlow {
or
rec = TLastRecInvalidOperationException() and
(c0.(MatchingCompletion).isNonMatch() or c0 instanceof FalseCompletion) and
c
.(ThrowCompletion)
.getExceptionClass()
.hasQualifiedName("System.InvalidOperationException")
c = any(InheritedCompletion ic |
ic.getUnderlyingCompletion() = c0 and
ic
.getInheritedCompletion()
.(ThrowCompletionDirect)
.getExceptionClass()
.hasQualifiedName("System.InvalidOperationException")
)
or
rec = TLastRecNonContinueCompletion() and
not c0 instanceof BreakCompletion and
@@ -1156,16 +1165,30 @@ module ControlFlow {
or
// Last `catch` clause inherits throw completions from the `try` block,
// when the clause does not match
exists(SpecificCatchClause scc |
exists(SpecificCatchClause scc, ThrowCompletion tc |
scc = cfe and
scc.isLast() and
throwMayBeUncaught(scc, c)
throwMayBeUncaught(scc, tc)
|
// Incompatible exception type: clause itself
result = scc
result = scc and
exists(MatchingCompletion mc |
mc.isNonMatch() and
mc.isValidFor(scc) and
c = any(InheritedCompletion ic |
ic.getUnderlyingCompletion() = mc and
ic.getInheritedCompletion() = tc.getInheritedCompletion()
)
)
or
// Incompatible filter
result = lastSpecificCatchClauseFilterClause(scc)
exists(FalseCompletion fc |
result = lastSpecificCatchClauseFilterClause(scc, fc) and
c = any(InheritedCompletion ic |
ic.getUnderlyingCompletion() = fc and
ic.getInheritedCompletion() = tc.getInheritedCompletion()
)
)
)
or
cfe = any(TryStmt ts |
@@ -1187,8 +1210,12 @@ module ControlFlow {
exists(getBlockOrCatchFinallyPred(ts, any(NormalCompletion nc))) and
c = c0
or
exists(getBlockOrCatchFinallyPred(ts, c)) and
not c instanceof NormalCompletion
exists(AbnormalCompletion ac, InheritedCompletion ic |
c = ic and
exists(getBlockOrCatchFinallyPred(ts, ac)) and
ac.getInheritedCompletion() = ic.getInheritedCompletion() and
ic.getUnderlyingCompletion() = c0
)
)
)
)
@@ -1201,7 +1228,7 @@ module ControlFlow {
*/
pragma[nomagic]
private ControlFlowElement lastRec(
ControlFlowElement cfe, Completion c, TLastRecComputation rec
TLastRecComputation rec, ControlFlowElement cfe, Completion c
) {
result = last(lastNonRec(cfe, TRec(rec)), c)
}
@@ -1210,7 +1237,7 @@ module ControlFlow {
private ControlFlowElement lastRecSpecific(
ControlFlowElement cfe, Completion c1, Completion c2
) {
result = lastRec(cfe, c1, TLastRecSpecificCompletion(c2))
result = lastRec(TLastRecSpecificCompletion(c2), cfe, c1)
}
pragma[nomagic]
@@ -1234,8 +1261,10 @@ module ControlFlow {
result = last(cc.getBlock(), c)
}
private ControlFlowElement lastSpecificCatchClauseFilterClause(SpecificCatchClause scc) {
result = last(scc.getFilterClause(), _)
private ControlFlowElement lastSpecificCatchClauseFilterClause(
SpecificCatchClause scc, Completion c
) {
result = last(scc.getFilterClause(), c)
}
/**

View File

@@ -42,15 +42,13 @@ private newtype TCompletion =
TGotoCaseCompletion(GotoCaseStmt goto) or
TGotoDefaultCompletion() or
TThrowCompletion(ExceptionClass ec) or
TExitCompletion()
TExitCompletion() or
TInheritedCompletion(NormalCompletion underlying, InheritableCompletion inherited)
/**
* A completion of a statement or an expression.
*/
class Completion extends TCompletion {
/** Gets a textual representation of this completion. */
string toString() { none() }
/**
* Holds if this completion is valid for control flow element `cfe`.
*
@@ -64,12 +62,10 @@ class Completion extends TCompletion {
if cfe instanceof NonReturningCall
then this = cfe.(NonReturningCall).getACompletion()
else (
this.(ThrowCompletion).getExceptionClass() = cfe
.(TriedControlFlowElement)
.getAThrownException()
this = TThrowCompletion(cfe.(TriedControlFlowElement).getAThrownException())
or
if cfe instanceof ThrowElement
then this.(ThrowCompletion).getExceptionClass() = cfe.(ThrowElement).getThrownExceptionType()
then this = TThrowCompletion(cfe.(ThrowElement).getThrownExceptionType())
else
if mustHaveBooleanCompletion(cfe)
then
@@ -108,26 +104,26 @@ class Completion extends TCompletion {
then this = TEmptinessCompletion(_)
else
if cfe instanceof BreakStmt
then this instanceof BreakCompletion
then this = TBreakCompletion()
else
if cfe instanceof ContinueStmt
then this instanceof ContinueCompletion
then this = TContinueCompletion()
else
if cfe instanceof GotoDefaultStmt
then this instanceof GotoDefaultCompletion
then this = TGotoDefaultCompletion()
else
if cfe instanceof GotoStmt
then
cfe = this.(GotoLabelCompletion).getGotoStmt() or
cfe = this.(GotoCaseCompletion).getGotoStmt()
this = TGotoLabelCompletion(cfe) or
this = TGotoCaseCompletion(cfe)
else
if cfe instanceof ReturnStmt
then this instanceof ReturnCompletion
then this = TReturnCompletion()
else
if cfe instanceof YieldBreakStmt
then
// `yield break` behaves like a return statement
this instanceof ReturnCompletion
this = TReturnCompletion()
else this = TNormalCompletion()
)
}
@@ -140,6 +136,15 @@ class Completion extends TCompletion {
this instanceof NormalCompletion or
this instanceof ContinueCompletion
}
/**
* Gets the source of this completion. This is either the underlying completion,
* when the completion is inherited, or the completion itself.
*/
Completion getSourceCompletion() { result = this }
/** Gets a textual representation of this completion. */
string toString() { none() }
}
/** Holds if expression `e` has the Boolean constant value `value`. */
@@ -606,83 +611,222 @@ class BreakNormalCompletion extends NormalCompletion, TBreakNormalCompletion {
override string toString() { result = "normal (break)" }
}
/**
* A completion that represents abnormal evaluation of a statement or an
* expression, for example exceptional flow.
*/
abstract class AbnormalCompletion extends Completion {
/**
* Gets the completion inherited by this completion, or the completion itself
* when there is no inheritance.
*/
InheritableCompletion getInheritedCompletion() { result = this }
}
/**
* An abnormal completion that can be inherited by another control flow
* element. For example, in
*
* ```
* void M(bool b)
* {
* try
* {
* if (b)
* throw new Exception();
* }
* finally
* {
* System.Console.WriteLine("M called");
* }
* }
* ```
*
* the throw completion for `Exception` can be inherited by the call
* `System.Console.WriteLine("M called")`.
*/
abstract private class InheritableCompletion extends AbnormalCompletion { }
/**
* An inherited completion. For example, in
*
* ```
* void M(bool b)
* {
* try
* {
* if (b)
* throw new Exception();
* }
* finally
* {
* System.Console.WriteLine("M called");
* }
* }
* ```
*
* `System.Console.WriteLine("M called")` inherits the throw completion
* from `throw new Exception` with an underlying simple completion.
*/
class InheritedCompletion extends AbnormalCompletion, TInheritedCompletion {
private NormalCompletion underlying;
private InheritableCompletion inherited;
InheritedCompletion() { this = TInheritedCompletion(underlying, inherited) }
/** Gets the underlying completion. */
NormalCompletion getUnderlyingCompletion() { result = underlying }
override InheritableCompletion getInheritedCompletion() { result = inherited }
override Completion getSourceCompletion() { result = underlying }
override string toString() { result = inherited + " [" + underlying + "]" }
}
/**
* A completion that represents evaluation of a statement or an
* expression resulting in a return from a callable.
*/
class ReturnCompletion extends Completion, TReturnCompletion {
abstract class ReturnCompletion extends AbnormalCompletion { }
private class ReturnCompletionDirect extends ReturnCompletion, InheritableCompletion,
TReturnCompletion {
override string toString() { result = "return" }
}
private class ReturnCompletionInherited extends ReturnCompletion, InheritedCompletion {
ReturnCompletionInherited() { this = TInheritedCompletion(_, TReturnCompletion()) }
}
/**
* A completion that represents evaluation of a statement or an
* expression resulting in a break (in a loop or in a `switch`
* statement).
*/
class BreakCompletion extends Completion, TBreakCompletion {
abstract class BreakCompletion extends AbnormalCompletion { }
private class BreakCompletionDirect extends BreakCompletion, InheritableCompletion, TBreakCompletion {
override string toString() { result = "break" }
}
private class BreakCompletionInherited extends BreakCompletion, InheritedCompletion {
BreakCompletionInherited() { this = TInheritedCompletion(_, TBreakCompletion()) }
}
/**
* A completion that represents evaluation of a statement or an
* expression resulting in a loop continuation (a `continue`
* statement).
*/
class ContinueCompletion extends Completion, TContinueCompletion {
abstract class ContinueCompletion extends AbnormalCompletion { }
private class ContinueCompletionDirect extends ContinueCompletion, InheritableCompletion,
TContinueCompletion {
override string toString() { result = "continue" }
}
private class ContinueCompletionInherited extends ContinueCompletion, InheritedCompletion {
ContinueCompletionInherited() { this = TInheritedCompletion(_, TContinueCompletion()) }
}
/**
* A completion that represents evaluation of a statement or an
* expression resulting in a `goto` jump.
*/
abstract class GotoCompletion extends Completion { }
abstract class GotoCompletion extends AbnormalCompletion { }
/**
* A completion that represents evaluation of a statement or an
* expression resulting in a `goto label` jump.
*/
class GotoLabelCompletion extends GotoCompletion, TGotoLabelCompletion {
abstract class GotoLabelCompletion extends GotoCompletion {
/** Gets the target of the `goto label` completion. */
string getLabel() { result = getGotoStmt().getLabel() }
string getLabel() { result = this.getGotoStmt().getLabel() }
/** Gets the statement that resulted in this `goto label` completion. */
GotoLabelStmt getGotoStmt() { this = TGotoLabelCompletion(result) }
abstract GotoLabelStmt getGotoStmt();
}
private class GotoLabelCompletionDirect extends GotoLabelCompletion, InheritableCompletion,
TGotoLabelCompletion {
override GotoLabelStmt getGotoStmt() { this = TGotoLabelCompletion(result) }
override string toString() { result = "goto(" + getLabel() + ")" }
}
private class GotoLabelCompletionInherited extends GotoLabelCompletion, InheritedCompletion {
private TGotoLabelCompletion inherited;
GotoLabelCompletionInherited() { this = TInheritedCompletion(_, inherited) }
override GotoLabelStmt getGotoStmt() { inherited = TGotoLabelCompletion(result) }
}
/**
* A completion that represents evaluation of a statement or an
* expression resulting in a `goto case` jump.
*/
class GotoCaseCompletion extends GotoCompletion, TGotoCaseCompletion {
abstract class GotoCaseCompletion extends GotoCompletion {
/** Gets the target of the `goto case` completion. */
string getLabel() { result = getGotoStmt().getLabel() }
string getLabel() { result = this.getGotoStmt().getLabel() }
/** Gets the statement that resulted in this `goto case` completion. */
GotoCaseStmt getGotoStmt() { this = TGotoCaseCompletion(result) }
abstract GotoCaseStmt getGotoStmt();
}
private class GotoCaseCompletionDirect extends GotoCaseCompletion, InheritableCompletion,
TGotoCaseCompletion {
override GotoCaseStmt getGotoStmt() { this = TGotoCaseCompletion(result) }
override string toString() { result = "goto case(" + getGotoStmt().getLabel() + ")" }
}
private class GotoCaseCompletionInherited extends GotoCaseCompletion, InheritedCompletion {
private TGotoCaseCompletion inherited;
GotoCaseCompletionInherited() { this = TInheritedCompletion(_, inherited) }
override GotoCaseStmt getGotoStmt() { inherited = TGotoCaseCompletion(result) }
}
/**
* A completion that represents evaluation of a statement or an
* expression resulting in a `goto default` jump.
*/
class GotoDefaultCompletion extends GotoCompletion, TGotoDefaultCompletion {
abstract class GotoDefaultCompletion extends GotoCompletion { }
private class GotoDefaultCompletionDirect extends GotoDefaultCompletion, InheritableCompletion,
TGotoDefaultCompletion {
override string toString() { result = "goto default" }
}
private class GotoDefaultCompletionInherited extends GotoDefaultCompletion, InheritedCompletion {
GotoDefaultCompletionInherited() { this = TInheritedCompletion(_, TGotoDefaultCompletion()) }
}
/**
* A completion that represents evaluation of a statement or an
* expression resulting in a thrown exception.
*/
class ThrowCompletion extends Completion, TThrowCompletion {
abstract class ThrowCompletion extends AbnormalCompletion {
/** Gets the type of the exception being thrown. */
ExceptionClass getExceptionClass() { this = TThrowCompletion(result) }
abstract ExceptionClass getExceptionClass();
}
override string toString() { result = "throw(" + getExceptionClass() + ")" }
class ThrowCompletionDirect extends ThrowCompletion, InheritableCompletion, TThrowCompletion {
override ExceptionClass getExceptionClass() { this = TThrowCompletion(result) }
override string toString() { result = "throw(" + this.getExceptionClass() + ")" }
}
private class ThrowCompletionInherited extends ThrowCompletion, InheritedCompletion {
private TThrowCompletion inherited;
ThrowCompletionInherited() { this = TInheritedCompletion(_, inherited) }
override ExceptionClass getExceptionClass() { inherited = TThrowCompletion(result) }
}
/**
@@ -694,6 +838,12 @@ class ThrowCompletion extends Completion, TThrowCompletion {
* exits the whole application, and exists inside `try` statements skip
* `finally` blocks.
*/
class ExitCompletion extends Completion, TExitCompletion {
abstract class ExitCompletion extends AbnormalCompletion { }
class ExitCompletionDirect extends ExitCompletion, InheritableCompletion, TExitCompletion {
override string toString() { result = "exit" }
}
private class ExitCompletionInherited extends ExitCompletion, InheritedCompletion {
ExitCompletionInherited() { this = TInheritedCompletion(_, TExitCompletion()) }
}

View File

@@ -28,11 +28,11 @@ private class ExitingCall extends NonReturningCall {
)
}
override ExitCompletion getACompletion() { any() }
override ExitCompletionDirect getACompletion() { any() }
}
private class ThrowingCall extends NonReturningCall {
private ThrowCompletion c;
private ThrowCompletionDirect c;
ThrowingCall() {
c = this.getTarget().(ThrowingCallable).getACallCompletion()
@@ -49,7 +49,7 @@ private class ThrowingCall extends NonReturningCall {
)
}
override ThrowCompletion getACompletion() { result = c }
override ThrowCompletionDirect getACompletion() { result = c }
}
abstract private class NonReturningCallable extends Callable {
@@ -104,7 +104,7 @@ private class ThrowingCallable extends NonReturningCallable {
}
/** Gets a valid completion for a call to this throwing callable. */
ThrowCompletion getACallCompletion() { this.getABody() = getAThrowingElement(result) }
ThrowCompletionDirect getACallCompletion() { this.getABody() = getAThrowingElement(result) }
}
private predicate directlyThrows(ThrowElement te, ThrowCompletion c) {
@@ -114,7 +114,7 @@ private predicate directlyThrows(ThrowElement te, ThrowCompletion c) {
not isStub(te)
}
private ControlFlowElement getAThrowingElement(ThrowCompletion c) {
private ControlFlowElement getAThrowingElement(ThrowCompletionDirect c) {
c = result.(ThrowingCall).getACompletion()
or
directlyThrows(result, c)
@@ -122,14 +122,14 @@ private ControlFlowElement getAThrowingElement(ThrowCompletion c) {
result = getAThrowingStmt(c)
}
private Stmt getAThrowingStmt(ThrowCompletion c) {
private Stmt getAThrowingStmt(ThrowCompletionDirect c) {
directlyThrows(result, c)
or
result.(ExprStmt).getExpr() = getAThrowingElement(c)
or
result.(BlockStmt).getFirstStmt() = getAThrowingStmt(c)
or
exists(IfStmt ifStmt, ThrowCompletion c1, ThrowCompletion c2 |
exists(IfStmt ifStmt, ThrowCompletionDirect c1, ThrowCompletionDirect c2 |
result = ifStmt and
ifStmt.getThen() = getAThrowingStmt(c1) and
ifStmt.getElse() = getAThrowingStmt(c2)

View File

@@ -91,20 +91,24 @@ class PreBasicBlock extends ControlFlowElement {
class ConditionBlock extends PreBasicBlock {
ConditionBlock() {
strictcount(ConditionalCompletion c |
exists(succ(this.getLastElement(), c))
or
exists(succExit(this.getLastElement(), c))
strictcount(Completion c |
c.getSourceCompletion() instanceof ConditionalCompletion and
(
exists(succ(this.getLastElement(), c))
or
exists(succExit(this.getLastElement(), c))
)
) > 1
}
private predicate immediatelyControls(PreBasicBlock succ, ConditionalCompletion c) {
succ = succ(this.getLastElement(), c) and
private predicate immediatelyControls(PreBasicBlock succ, ConditionalCompletion cc) {
succ = succ(this.getLastElement(), any(Completion c | c.getSourceCompletion() = cc)) and
forall(PreBasicBlock pred | pred = succ.getAPredecessor() and pred != this |
succ.dominates(pred)
)
}
pragma[nomagic]
predicate controls(PreBasicBlock controlled, SuccessorTypes::ConditionalSuccessor s) {
exists(PreBasicBlock succ, ConditionalCompletion c | immediatelyControls(succ, c) |
succ.dominates(controlled) and

View File

@@ -760,9 +760,11 @@ module BooleanSplitting {
(exists(succ(last, c)) or exists(succExit(last, c))) and
// Respect the value recorded in this split for all correlated conditions
forall(boolean inverted | bb = this.getACorrelatedCondition(inverted) |
c instanceof BooleanCompletion
c.getSourceCompletion() instanceof BooleanCompletion
implies
c = any(BooleanCompletion bc | bc.getInnerValue() = this.getBranch().booleanXor(inverted))
c.getSourceCompletion() = any(BooleanCompletion bc |
bc.getInnerValue() = this.getBranch().booleanXor(inverted)
)
)
)
}

View File

@@ -87,23 +87,21 @@
| CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | 1 |
| CatchInFinally.cs:41:9:50:9 | [b1 (line 34): false] {...} | CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 | 5 |
| CatchInFinally.cs:41:9:50:9 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 | 5 |
| CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false] throw ...; | CatchInFinally.cs:46:38:46:39 | [exception: ExceptionB, b1 (line 34): false] access to parameter b2 | 3 |
| CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true] throw ...; | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true] access to parameter b2 | 3 |
| CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] throw ...; | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true] access to parameter b2 | 3 |
| CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false] object creation of type ExceptionB | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false] object creation of type ExceptionB | 1 |
| CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB | 1 |
| CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB | 1 |
| CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false] catch (...) {...} | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false] catch (...) {...} | 1 |
| CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] catch (...) {...} | 1 |
| CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] catch (...) {...} | 1 |
| CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false] access to parameter b2 | 1 |
| CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] access to parameter b2 | 1 |
| CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] access to parameter b2 | 1 |
| CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false, b2 (line 34): true] throw ...; | CatchInFinally.cs:46:38:46:39 | [exception: ExceptionB, b1 (line 34): false, b2 (line 34): true] access to parameter b2 | 3 |
| CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] throw ...; | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | 3 |
| CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] throw ...; | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | 3 |
| CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB | 1 |
| CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | 1 |
| CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | 1 |
| CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} | 1 |
| CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | 1 |
| CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | 1 |
| CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] access to parameter b2 | 1 |
| CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | 1 |
| CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | 1 |
| CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} | CatchInFinally.cs:48:21:48:22 | [b1 (line 34): false] access to parameter b1 | 3 |
| CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:48:21:48:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b1 | 3 |
| CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} | CatchInFinally.cs:48:21:48:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b1 | 3 |
| CatchInFinally.cs:48:31:48:46 | [finally: exception(Exception)] object creation of type ExceptionC | CatchInFinally.cs:48:25:48:47 | [finally: exception(Exception)] throw ...; | 2 |
| CatchInFinally.cs:48:31:48:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | CatchInFinally.cs:48:25:48:47 | [finally: exception(ExceptionA)] throw ...; | 2 |
| CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:48:25:48:47 | [finally: exception(Exception)] throw ...; | 5 |
| CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} | CatchInFinally.cs:48:25:48:47 | [finally: exception(ExceptionA)] throw ...; | 5 |
| CompileTimeOperators.cs:5:9:5:15 | enter Default | CompileTimeOperators.cs:5:9:5:15 | exit Default | 5 |
| CompileTimeOperators.cs:10:9:10:14 | enter Sizeof | CompileTimeOperators.cs:10:9:10:14 | exit Sizeof | 5 |
| CompileTimeOperators.cs:15:10:15:15 | enter Typeof | CompileTimeOperators.cs:15:10:15:15 | exit Typeof | 5 |

View File

@@ -168,44 +168,46 @@
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:41:9:50:9 | [b1 (line 34): false] {...} |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:41:9:50:9 | [finally: exception(Exception), b1 (line 34): true] {...} |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false] throw ...; |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true] throw ...; |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] throw ...; |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false] object creation of type ExceptionB |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false] catch (...) {...} |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] catch (...) {...} |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] catch (...) {...} |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false] access to parameter b2 |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false, b2 (line 34): true] throw ...; |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] throw ...; |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] throw ...; |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:48:31:48:46 | [finally: exception(Exception)] object creation of type ExceptionC |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:48:31:48:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC |
| post | CatchInFinally.cs:38:21:38:43 | [b1 (line 34): true] throw ...; | CatchInFinally.cs:38:21:38:43 | [b1 (line 34): true] throw ...; |
| post | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA |
| post | CatchInFinally.cs:41:9:50:9 | [b1 (line 34): false] {...} | CatchInFinally.cs:41:9:50:9 | [b1 (line 34): false] {...} |
| post | CatchInFinally.cs:41:9:50:9 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:41:9:50:9 | [finally: exception(Exception), b1 (line 34): true] {...} |
| post | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false] throw ...; | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false] throw ...; |
| post | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true] throw ...; | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true] throw ...; |
| post | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] throw ...; | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] throw ...; |
| post | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false] object creation of type ExceptionB | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false] object creation of type ExceptionB |
| post | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB |
| post | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB |
| post | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false] catch (...) {...} | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false] catch (...) {...} |
| post | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] catch (...) {...} |
| post | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] catch (...) {...} |
| post | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false] access to parameter b2 |
| post | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false, b2 (line 34): true] throw ...; | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false, b2 (line 34): true] throw ...; |
| post | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] throw ...; | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] throw ...; |
| post | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] throw ...; | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] throw ...; |
| post | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB |
| post | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB |
| post | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB |
| post | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} |
| post | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| post | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| post | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false, b2 (line 34): true] throw ...; |
| post | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} |
| post | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] throw ...; |
| post | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} |
| post | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] throw ...; |
| post | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} |
| post | CatchInFinally.cs:48:31:48:46 | [finally: exception(Exception)] object creation of type ExceptionC | CatchInFinally.cs:48:31:48:46 | [finally: exception(Exception)] object creation of type ExceptionC |
| post | CatchInFinally.cs:48:31:48:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | CatchInFinally.cs:48:31:48:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC |
| post | CompileTimeOperators.cs:5:9:5:15 | enter Default | CompileTimeOperators.cs:5:9:5:15 | enter Default |
| post | CompileTimeOperators.cs:10:9:10:14 | enter Sizeof | CompileTimeOperators.cs:10:9:10:14 | enter Sizeof |
| post | CompileTimeOperators.cs:15:10:15:15 | enter Typeof | CompileTimeOperators.cs:15:10:15:15 | enter Typeof |
@@ -1637,95 +1639,83 @@
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:41:9:50:9 | [b1 (line 34): false] {...} |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:41:9:50:9 | [finally: exception(Exception), b1 (line 34): true] {...} |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false] throw ...; |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false] object creation of type ExceptionB |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false] catch (...) {...} |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false] access to parameter b2 |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false, b2 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:48:31:48:46 | [finally: exception(Exception)] object creation of type ExceptionC |
| pre | CatchInFinally.cs:34:24:34:25 | enter M2 | CatchInFinally.cs:48:31:48:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC |
| pre | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:34:24:34:25 | exit M2 |
| pre | CatchInFinally.cs:38:21:38:43 | [b1 (line 34): true] throw ...; | CatchInFinally.cs:38:21:38:43 | [b1 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:38:21:38:43 | [b1 (line 34): true] throw ...; | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:38:21:38:43 | [b1 (line 34): true] throw ...; | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB |
| pre | CatchInFinally.cs:38:21:38:43 | [b1 (line 34): true] throw ...; | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:38:21:38:43 | [b1 (line 34): true] throw ...; | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:38:21:38:43 | [b1 (line 34): true] throw ...; | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:38:21:38:43 | [b1 (line 34): true] throw ...; | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB |
| pre | CatchInFinally.cs:38:21:38:43 | [b1 (line 34): true] throw ...; | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:38:21:38:43 | [b1 (line 34): true] throw ...; | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:38:21:38:43 | [b1 (line 34): true] throw ...; | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} |
| pre | CatchInFinally.cs:38:21:38:43 | [b1 (line 34): true] throw ...; | CatchInFinally.cs:48:31:48:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC |
| pre | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:38:21:38:43 | [b1 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA |
| pre | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:41:9:50:9 | [finally: exception(Exception), b1 (line 34): true] {...} |
| pre | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB |
| pre | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB |
| pre | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB |
| pre | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB |
| pre | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} |
| pre | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} |
| pre | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:48:31:48:46 | [finally: exception(Exception)] object creation of type ExceptionC |
| pre | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | CatchInFinally.cs:48:31:48:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC |
| pre | CatchInFinally.cs:41:9:50:9 | [b1 (line 34): false] {...} | CatchInFinally.cs:41:9:50:9 | [b1 (line 34): false] {...} |
| pre | CatchInFinally.cs:41:9:50:9 | [b1 (line 34): false] {...} | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false] throw ...; |
| pre | CatchInFinally.cs:41:9:50:9 | [b1 (line 34): false] {...} | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false] object creation of type ExceptionB |
| pre | CatchInFinally.cs:41:9:50:9 | [b1 (line 34): false] {...} | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false] catch (...) {...} |
| pre | CatchInFinally.cs:41:9:50:9 | [b1 (line 34): false] {...} | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false] access to parameter b2 |
| pre | CatchInFinally.cs:41:9:50:9 | [b1 (line 34): false] {...} | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false, b2 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:41:9:50:9 | [b1 (line 34): false] {...} | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB |
| pre | CatchInFinally.cs:41:9:50:9 | [b1 (line 34): false] {...} | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:41:9:50:9 | [b1 (line 34): false] {...} | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:41:9:50:9 | [b1 (line 34): false] {...} | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} |
| pre | CatchInFinally.cs:41:9:50:9 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:41:9:50:9 | [finally: exception(Exception), b1 (line 34): true] {...} |
| pre | CatchInFinally.cs:41:9:50:9 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:41:9:50:9 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB |
| pre | CatchInFinally.cs:41:9:50:9 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:41:9:50:9 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:41:9:50:9 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:41:9:50:9 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB |
| pre | CatchInFinally.cs:41:9:50:9 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:41:9:50:9 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:41:9:50:9 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} |
| pre | CatchInFinally.cs:41:9:50:9 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:48:31:48:46 | [finally: exception(Exception)] object creation of type ExceptionC |
| pre | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false] throw ...; | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false] throw ...; |
| pre | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true] throw ...; | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] throw ...; | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false] object creation of type ExceptionB | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false] throw ...; |
| pre | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false] object creation of type ExceptionB | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false] object creation of type ExceptionB |
| pre | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false] object creation of type ExceptionB | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false] catch (...) {...} |
| pre | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false] object creation of type ExceptionB | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false] access to parameter b2 |
| pre | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false] object creation of type ExceptionB | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:48:31:48:46 | [finally: exception(Exception)] object creation of type ExceptionC |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:48:31:48:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC |
| pre | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false] catch (...) {...} | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false] catch (...) {...} |
| pre | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false] access to parameter b2 |
| pre | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false] access to parameter b2 |
| pre | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false, b2 (line 34): true] throw ...; | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false, b2 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] throw ...; | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] throw ...; | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false, b2 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB |
| pre | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} |
| pre | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} |
| pre | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} |
| pre | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:48:31:48:46 | [finally: exception(Exception)] object creation of type ExceptionC |
| pre | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} |
| pre | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} | CatchInFinally.cs:48:31:48:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC |
| pre | CatchInFinally.cs:48:31:48:46 | [finally: exception(Exception)] object creation of type ExceptionC | CatchInFinally.cs:48:31:48:46 | [finally: exception(Exception)] object creation of type ExceptionC |
| pre | CatchInFinally.cs:48:31:48:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | CatchInFinally.cs:48:31:48:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC |
| pre | CompileTimeOperators.cs:5:9:5:15 | enter Default | CompileTimeOperators.cs:5:9:5:15 | enter Default |
| pre | CompileTimeOperators.cs:10:9:10:14 | enter Sizeof | CompileTimeOperators.cs:10:9:10:14 | enter Sizeof |
| pre | CompileTimeOperators.cs:15:10:15:15 | enter Typeof | CompileTimeOperators.cs:15:10:15:15 | enter Typeof |

View File

@@ -58,12 +58,12 @@
| b1 (line 34): false | CatchInFinally.cs:43:13:45:13 | [b1 (line 34): false] {...} |
| b1 (line 34): false | CatchInFinally.cs:44:17:44:47 | [b1 (line 34): false] if (...) ... |
| b1 (line 34): false | CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 |
| b1 (line 34): false | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false] throw ...; |
| b1 (line 34): false | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false] object creation of type ExceptionB |
| b1 (line 34): false | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false] catch (...) {...} |
| b1 (line 34): false | CatchInFinally.cs:46:13:49:13 | [exception: ExceptionB, b1 (line 34): false] catch (...) {...} |
| b1 (line 34): false | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false] access to parameter b2 |
| b1 (line 34): false | CatchInFinally.cs:46:38:46:39 | [exception: ExceptionB, b1 (line 34): false] access to parameter b2 |
| b1 (line 34): false | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false, b2 (line 34): true] throw ...; |
| b1 (line 34): false | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB |
| b1 (line 34): false | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} |
| b1 (line 34): false | CatchInFinally.cs:46:13:49:13 | [exception: ExceptionB, b1 (line 34): false, b2 (line 34): true] catch (...) {...} |
| b1 (line 34): false | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] access to parameter b2 |
| b1 (line 34): false | CatchInFinally.cs:46:38:46:39 | [exception: ExceptionB, b1 (line 34): false, b2 (line 34): true] access to parameter b2 |
| b1 (line 34): false | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} |
| b1 (line 34): false | CatchInFinally.cs:48:17:48:47 | [b1 (line 34): false] if (...) ... |
| b1 (line 34): false | CatchInFinally.cs:48:21:48:22 | [b1 (line 34): false] access to parameter b1 |
@@ -79,18 +79,18 @@
| b1 (line 34): true | CatchInFinally.cs:44:17:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] if (...) ... |
| b1 (line 34): true | CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 |
| b1 (line 34): true | CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 |
| b1 (line 34): true | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true] throw ...; |
| b1 (line 34): true | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] throw ...; |
| b1 (line 34): true | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB |
| b1 (line 34): true | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB |
| b1 (line 34): true | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] catch (...) {...} |
| b1 (line 34): true | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true] catch (...) {...} |
| b1 (line 34): true | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] catch (...) {...} |
| b1 (line 34): true | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true] catch (...) {...} |
| b1 (line 34): true | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] access to parameter b2 |
| b1 (line 34): true | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true] access to parameter b2 |
| b1 (line 34): true | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] access to parameter b2 |
| b1 (line 34): true | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true] access to parameter b2 |
| b1 (line 34): true | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] throw ...; |
| b1 (line 34): true | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] throw ...; |
| b1 (line 34): true | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB |
| b1 (line 34): true | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB |
| b1 (line 34): true | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| b1 (line 34): true | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| b1 (line 34): true | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| b1 (line 34): true | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| b1 (line 34): true | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| b1 (line 34): true | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| b1 (line 34): true | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| b1 (line 34): true | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| b1 (line 34): true | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} |
| b1 (line 34): true | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} |
| b1 (line 34): true | CatchInFinally.cs:48:17:48:47 | [finally: exception(Exception), b1 (line 34): true] if (...) ... |
@@ -104,6 +104,24 @@
| b2 (line 22): true | Conditions.cs:27:17:27:20 | [b2 (line 22): true] ...; |
| b2 (line 22): true | Conditions.cs:28:9:29:16 | [b2 (line 22): true] if (...) ... |
| b2 (line 22): true | Conditions.cs:28:13:28:14 | [b2 (line 22): true] access to parameter b2 |
| b2 (line 34): true | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false, b2 (line 34): true] throw ...; |
| b2 (line 34): true | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] throw ...; |
| b2 (line 34): true | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] throw ...; |
| b2 (line 34): true | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB |
| b2 (line 34): true | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB |
| b2 (line 34): true | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB |
| b2 (line 34): true | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} |
| b2 (line 34): true | CatchInFinally.cs:46:13:49:13 | [exception: ExceptionB, b1 (line 34): false, b2 (line 34): true] catch (...) {...} |
| b2 (line 34): true | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| b2 (line 34): true | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| b2 (line 34): true | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| b2 (line 34): true | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| b2 (line 34): true | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] access to parameter b2 |
| b2 (line 34): true | CatchInFinally.cs:46:38:46:39 | [exception: ExceptionB, b1 (line 34): false, b2 (line 34): true] access to parameter b2 |
| b2 (line 34): true | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| b2 (line 34): true | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| b2 (line 34): true | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| b2 (line 34): true | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| b2 (line 39): false | Conditions.cs:41:9:42:16 | [b2 (line 39): false] if (...) ... |
| b2 (line 39): false | Conditions.cs:41:13:41:14 | [b2 (line 39): false] access to local variable b2 |
| b2 (line 39): true | Conditions.cs:40:13:40:13 | [b2 (line 39): true] access to local variable x |

View File

@@ -77,45 +77,39 @@
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:38:27:38:42 | [b1 (line 34): true] object creation of type ExceptionA | true |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:41:9:50:9 | [b1 (line 34): false] {...} | false |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:41:9:50:9 | [finally: exception(Exception), b1 (line 34): true] {...} | true |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false] throw ...; | false |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true] throw ...; | true |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] throw ...; | true |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false] object creation of type ExceptionB | false |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB | true |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB | true |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false] catch (...) {...} | false |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] catch (...) {...} | true |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] catch (...) {...} | true |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false] access to parameter b2 | false |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] access to parameter b2 | true |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] access to parameter b2 | true |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false, b2 (line 34): true] throw ...; | false |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] throw ...; | true |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] throw ...; | true |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB | false |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | true |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | true |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} | false |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | true |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | true |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] access to parameter b2 | false |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | true |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | true |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} | false |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} | true |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} | true |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:48:31:48:46 | [finally: exception(Exception)] object creation of type ExceptionC | true |
| CatchInFinally.cs:38:17:38:18 | access to parameter b1 | CatchInFinally.cs:48:31:48:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | true |
| CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false] throw ...; | true |
| CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false] object creation of type ExceptionB | true |
| CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false] catch (...) {...} | true |
| CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false] access to parameter b2 | true |
| CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false, b2 (line 34): true] throw ...; | true |
| CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB | true |
| CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} | true |
| CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] access to parameter b2 | true |
| CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} | true |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true] throw ...; | true |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB | true |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] catch (...) {...} | true |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] access to parameter b2 | true |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] throw ...; | true |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | true |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | true |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | true |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} | true |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:48:31:48:46 | [finally: exception(Exception)] object creation of type ExceptionC | true |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] throw ...; | true |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB | true |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] catch (...) {...} | true |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] access to parameter b2 | true |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] throw ...; | true |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | true |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | true |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | true |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} | true |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:48:31:48:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | true |
| CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false] access to parameter b2 | true |
| CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] access to parameter b2 | true |
| CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] access to parameter b2 | true |
| CatchInFinally.cs:48:21:48:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b1 | CatchInFinally.cs:48:31:48:46 | [finally: exception(Exception)] object creation of type ExceptionC | true |
| CatchInFinally.cs:48:21:48:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b1 | CatchInFinally.cs:48:31:48:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | true |
| CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] access to parameter b2 | true |
| CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | true |
| CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | true |
| ConditionalAccess.cs:3:26:3:26 | access to parameter i | ConditionalAccess.cs:3:28:3:38 | call to method ToString | false |
| ConditionalAccess.cs:3:26:3:26 | access to parameter i | ConditionalAccess.cs:3:40:3:49 | call to method ToLower | false |
| ConditionalAccess.cs:3:28:3:38 | call to method ToString | ConditionalAccess.cs:3:40:3:49 | call to method ToLower | false |

View File

@@ -103,15 +103,15 @@
| 42 | 17 | BreakInTry.cs:42:17:42:28 | ... == ... | false | 46 | 9 | BreakInTry.cs:46:9:52:9 | {...} |
| 42 | 17 | BreakInTry.cs:42:17:42:28 | ... == ... | true | 43 | 17 | BreakInTry.cs:43:17:43:23 | return ...; |
| 44 | 21 | CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 | false | 34 | 24 | CatchInFinally.cs:34:24:34:25 | exit M2 |
| 44 | 21 | CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 | true | 44 | 31 | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false] object creation of type ExceptionB |
| 44 | 21 | CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 | true | 44 | 31 | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB |
| 44 | 21 | CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 | true | 44 | 31 | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB |
| 46 | 38 | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false] access to parameter b2 | true | 47 | 13 | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} |
| 46 | 38 | CatchInFinally.cs:46:38:46:39 | [exception: ExceptionB, b1 (line 34): false] access to parameter b2 | true | 47 | 13 | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} |
| 46 | 38 | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] access to parameter b2 | true | 47 | 13 | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} |
| 46 | 38 | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true] access to parameter b2 | true | 47 | 13 | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} |
| 46 | 38 | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] access to parameter b2 | true | 47 | 13 | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} |
| 46 | 38 | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true] access to parameter b2 | true | 47 | 13 | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} |
| 44 | 21 | CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 | true | 44 | 31 | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB |
| 44 | 21 | CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 | true | 44 | 31 | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB |
| 44 | 21 | CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 | true | 44 | 31 | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB |
| 46 | 38 | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] access to parameter b2 | true | 47 | 13 | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} |
| 46 | 38 | CatchInFinally.cs:46:38:46:39 | [exception: ExceptionB, b1 (line 34): false, b2 (line 34): true] access to parameter b2 | true | 47 | 13 | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} |
| 46 | 38 | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | true | 47 | 13 | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} |
| 46 | 38 | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | true | 47 | 13 | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} |
| 46 | 38 | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | true | 47 | 13 | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} |
| 46 | 38 | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | true | 47 | 13 | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} |
| 48 | 21 | CatchInFinally.cs:48:21:48:22 | [b1 (line 34): false] access to parameter b1 | false | 34 | 24 | CatchInFinally.cs:34:24:34:25 | exit M2 |
| 48 | 21 | CatchInFinally.cs:48:21:48:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b1 | true | 48 | 31 | CatchInFinally.cs:48:31:48:46 | [finally: exception(Exception)] object creation of type ExceptionC |
| 48 | 21 | CatchInFinally.cs:48:21:48:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b1 | true | 48 | 31 | CatchInFinally.cs:48:31:48:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC |

View File

@@ -545,18 +545,10 @@
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false] catch (...) {...} |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] catch (...) {...} |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] catch (...) {...} |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false] access to parameter b2 |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:46:38:46:39 | [exception: ExceptionB, b1 (line 34): false] access to parameter b2 |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:48:21:48:22 | [b1 (line 34): false] access to parameter b1 |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:48:21:48:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b1 |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:48:21:48:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b1 |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:48:25:48:47 | [finally: exception(Exception)] throw ...; |
| post | CatchInFinally.cs:34:24:34:25 | exit M2 | CatchInFinally.cs:48:25:48:47 | [finally: exception(ExceptionA)] throw ...; |
| post | CatchInFinally.cs:35:5:51:5 | {...} | CatchInFinally.cs:34:24:34:25 | enter M2 |
@@ -577,12 +569,18 @@
| post | CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:44:17:44:47 | [b1 (line 34): false] if (...) ... |
| post | CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:44:17:44:47 | [finally: exception(Exception), b1 (line 34): true] if (...) ... |
| post | CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:44:17:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] if (...) ... |
| post | CatchInFinally.cs:46:13:49:13 | [exception: ExceptionB, b1 (line 34): false] catch (...) {...} | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false] throw ...; |
| post | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true] catch (...) {...} | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true] throw ...; |
| post | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true] catch (...) {...} | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] throw ...; |
| post | CatchInFinally.cs:46:38:46:39 | [exception: ExceptionB, b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:46:13:49:13 | [exception: ExceptionB, b1 (line 34): false] catch (...) {...} |
| post | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true] catch (...) {...} |
| post | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true] catch (...) {...} |
| post | CatchInFinally.cs:46:13:49:13 | [exception: ExceptionB, b1 (line 34): false, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false, b2 (line 34): true] throw ...; |
| post | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] throw ...; |
| post | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] throw ...; |
| post | CatchInFinally.cs:46:38:46:39 | [exception: ExceptionB, b1 (line 34): false, b2 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:13:49:13 | [exception: ExceptionB, b1 (line 34): false, b2 (line 34): true] catch (...) {...} |
| post | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| post | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| post | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} | CatchInFinally.cs:46:38:46:39 | [exception: ExceptionB, b1 (line 34): false, b2 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| post | CatchInFinally.cs:48:17:48:47 | [b1 (line 34): false] if (...) ... | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} |
| post | CatchInFinally.cs:48:17:48:47 | [finally: exception(Exception), b1 (line 34): true] if (...) ... | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} |
| post | CatchInFinally.cs:48:17:48:47 | [finally: exception(ExceptionA), b1 (line 34): true] if (...) ... | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} |
@@ -591,6 +589,8 @@
| post | CatchInFinally.cs:48:21:48:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b1 | CatchInFinally.cs:48:17:48:47 | [finally: exception(ExceptionA), b1 (line 34): true] if (...) ... |
| post | CatchInFinally.cs:48:25:48:47 | [finally: exception(Exception)] throw ...; | CatchInFinally.cs:48:31:48:46 | [finally: exception(Exception)] object creation of type ExceptionC |
| post | CatchInFinally.cs:48:25:48:47 | [finally: exception(ExceptionA)] throw ...; | CatchInFinally.cs:48:31:48:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC |
| post | CatchInFinally.cs:48:31:48:46 | [finally: exception(Exception)] object creation of type ExceptionC | CatchInFinally.cs:48:21:48:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b1 |
| post | CatchInFinally.cs:48:31:48:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | CatchInFinally.cs:48:21:48:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b1 |
| post | CompileTimeOperators.cs:5:9:5:15 | exit Default | CompileTimeOperators.cs:7:9:7:28 | return ...; |
| post | CompileTimeOperators.cs:6:5:8:5 | {...} | CompileTimeOperators.cs:5:9:5:15 | enter Default |
| post | CompileTimeOperators.cs:7:9:7:28 | return ...; | CompileTimeOperators.cs:7:16:7:27 | default(...) |
@@ -3089,24 +3089,24 @@
| pre | CatchInFinally.cs:44:17:44:47 | [b1 (line 34): false] if (...) ... | CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 |
| pre | CatchInFinally.cs:44:17:44:47 | [finally: exception(Exception), b1 (line 34): true] if (...) ... | CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:44:17:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] if (...) ... | CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false] object creation of type ExceptionB |
| pre | CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB |
| pre | CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB |
| pre | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false] throw ...; | CatchInFinally.cs:46:13:49:13 | [exception: ExceptionB, b1 (line 34): false] catch (...) {...} |
| pre | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true] throw ...; | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] throw ...; | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false] object creation of type ExceptionB | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false] throw ...; |
| pre | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false] object creation of type ExceptionB | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false] catch (...) {...} |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false] access to parameter b2 |
| pre | CatchInFinally.cs:46:13:49:13 | [exception: ExceptionB, b1 (line 34): false] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [exception: ExceptionB, b1 (line 34): false] access to parameter b2 |
| pre | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB |
| pre | CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB |
| pre | CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB |
| pre | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false, b2 (line 34): true] throw ...; | CatchInFinally.cs:46:13:49:13 | [exception: ExceptionB, b1 (line 34): false, b2 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] throw ...; | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] throw ...; | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false, b2 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] throw ...; |
| pre | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| pre | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:46:13:49:13 | [exception: ExceptionB, b1 (line 34): false, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [exception: ExceptionB, b1 (line 34): false, b2 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| pre | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} | CatchInFinally.cs:48:17:48:47 | [b1 (line 34): false] if (...) ... |
| pre | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:48:17:48:47 | [finally: exception(Exception), b1 (line 34): true] if (...) ... |
| pre | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} | CatchInFinally.cs:48:17:48:47 | [finally: exception(ExceptionA), b1 (line 34): true] if (...) ... |

View File

@@ -379,13 +379,13 @@
| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:32:21:32:21 | ; | normal (break) |
| BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:22:22:22:24 | String arg | normal |
| BreakInTry.cs:22:29:22:32 | access to parameter args | BreakInTry.cs:22:29:22:32 | access to parameter args | normal |
| BreakInTry.cs:23:9:34:9 | {...} | BreakInTry.cs:31:21:31:32 | ... == ... | break |
| BreakInTry.cs:23:9:34:9 | {...} | BreakInTry.cs:31:21:31:32 | ... == ... | break [false/false] |
| BreakInTry.cs:23:9:34:9 | {...} | BreakInTry.cs:31:21:31:32 | ... == ... | false/false |
| BreakInTry.cs:23:9:34:9 | {...} | BreakInTry.cs:32:21:32:21 | ; | break |
| BreakInTry.cs:23:9:34:9 | {...} | BreakInTry.cs:32:21:32:21 | ; | break [normal] |
| BreakInTry.cs:23:9:34:9 | {...} | BreakInTry.cs:32:21:32:21 | ; | normal |
| BreakInTry.cs:24:13:33:13 | try {...} ... | BreakInTry.cs:31:21:31:32 | ... == ... | break |
| BreakInTry.cs:24:13:33:13 | try {...} ... | BreakInTry.cs:31:21:31:32 | ... == ... | break [false/false] |
| BreakInTry.cs:24:13:33:13 | try {...} ... | BreakInTry.cs:31:21:31:32 | ... == ... | false/false |
| BreakInTry.cs:24:13:33:13 | try {...} ... | BreakInTry.cs:32:21:32:21 | ; | break |
| BreakInTry.cs:24:13:33:13 | try {...} ... | BreakInTry.cs:32:21:32:21 | ; | break [normal] |
| BreakInTry.cs:24:13:33:13 | try {...} ... | BreakInTry.cs:32:21:32:21 | ; | normal |
| BreakInTry.cs:25:13:28:13 | {...} | BreakInTry.cs:26:21:26:31 | ... == ... | false/false |
| BreakInTry.cs:25:13:28:13 | {...} | BreakInTry.cs:27:21:27:26 | break; | break |
@@ -406,13 +406,13 @@
| BreakInTry.cs:31:29:31:32 | null | BreakInTry.cs:31:29:31:32 | null | normal |
| BreakInTry.cs:32:21:32:21 | ; | BreakInTry.cs:32:21:32:21 | ; | normal |
| BreakInTry.cs:35:7:35:7 | ; | BreakInTry.cs:35:7:35:7 | ; | normal |
| BreakInTry.cs:39:5:54:5 | {...} | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | return |
| BreakInTry.cs:39:5:54:5 | {...} | BreakInTry.cs:50:21:50:26 | break; | return |
| BreakInTry.cs:39:5:54:5 | {...} | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | return [empty] |
| BreakInTry.cs:39:5:54:5 | {...} | BreakInTry.cs:50:21:50:26 | break; | return [normal (break)] |
| BreakInTry.cs:39:5:54:5 | {...} | BreakInTry.cs:53:7:53:7 | ; | normal |
| BreakInTry.cs:40:9:52:9 | try {...} ... | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | empty |
| BreakInTry.cs:40:9:52:9 | try {...} ... | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | return |
| BreakInTry.cs:40:9:52:9 | try {...} ... | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | return [empty] |
| BreakInTry.cs:40:9:52:9 | try {...} ... | BreakInTry.cs:50:21:50:26 | break; | normal (break) |
| BreakInTry.cs:40:9:52:9 | try {...} ... | BreakInTry.cs:50:21:50:26 | break; | return |
| BreakInTry.cs:40:9:52:9 | try {...} ... | BreakInTry.cs:50:21:50:26 | break; | return [normal (break)] |
| BreakInTry.cs:41:9:44:9 | {...} | BreakInTry.cs:42:17:42:28 | ... == ... | false/false |
| BreakInTry.cs:41:9:44:9 | {...} | BreakInTry.cs:43:17:43:23 | return ...; | return |
| BreakInTry.cs:42:13:43:23 | if (...) ... | BreakInTry.cs:42:17:42:28 | ... == ... | false/false |
@@ -439,13 +439,13 @@
| BreakInTry.cs:50:21:50:26 | break; | BreakInTry.cs:50:21:50:26 | break; | break |
| BreakInTry.cs:53:7:53:7 | ; | BreakInTry.cs:53:7:53:7 | ; | normal |
| BreakInTry.cs:57:5:71:5 | {...} | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | empty |
| BreakInTry.cs:57:5:71:5 | {...} | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | return |
| BreakInTry.cs:57:5:71:5 | {...} | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | return [empty] |
| BreakInTry.cs:57:5:71:5 | {...} | BreakInTry.cs:68:21:68:26 | break; | normal (break) |
| BreakInTry.cs:57:5:71:5 | {...} | BreakInTry.cs:68:21:68:26 | break; | return |
| BreakInTry.cs:57:5:71:5 | {...} | BreakInTry.cs:68:21:68:26 | break; | return [normal (break)] |
| BreakInTry.cs:58:9:70:9 | try {...} ... | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | empty |
| BreakInTry.cs:58:9:70:9 | try {...} ... | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | return |
| BreakInTry.cs:58:9:70:9 | try {...} ... | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | return [empty] |
| BreakInTry.cs:58:9:70:9 | try {...} ... | BreakInTry.cs:68:21:68:26 | break; | normal (break) |
| BreakInTry.cs:58:9:70:9 | try {...} ... | BreakInTry.cs:68:21:68:26 | break; | return |
| BreakInTry.cs:58:9:70:9 | try {...} ... | BreakInTry.cs:68:21:68:26 | break; | return [normal (break)] |
| BreakInTry.cs:59:9:62:9 | {...} | BreakInTry.cs:60:17:60:28 | ... == ... | false/false |
| BreakInTry.cs:59:9:62:9 | {...} | BreakInTry.cs:61:17:61:23 | return ...; | return |
| BreakInTry.cs:60:13:61:23 | if (...) ... | BreakInTry.cs:60:17:60:28 | ... == ... | false/false |
@@ -471,23 +471,23 @@
| BreakInTry.cs:67:28:67:31 | null | BreakInTry.cs:67:28:67:31 | null | normal |
| BreakInTry.cs:68:21:68:26 | break; | BreakInTry.cs:68:21:68:26 | break; | break |
| CatchInFinally.cs:6:5:28:5 | {...} | CatchInFinally.cs:16:21:16:36 | ... == ... | false/false |
| CatchInFinally.cs:6:5:28:5 | {...} | CatchInFinally.cs:16:21:16:36 | ... == ... | throw(ArgumentNullException) |
| CatchInFinally.cs:6:5:28:5 | {...} | CatchInFinally.cs:16:21:16:36 | ... == ... | throw(Exception) |
| CatchInFinally.cs:6:5:28:5 | {...} | CatchInFinally.cs:16:21:16:36 | ... == ... | throw(ArgumentNullException) [false/false] |
| CatchInFinally.cs:6:5:28:5 | {...} | CatchInFinally.cs:16:21:16:36 | ... == ... | throw(Exception) [false/false] |
| CatchInFinally.cs:6:5:28:5 | {...} | CatchInFinally.cs:21:17:21:42 | call to method WriteLine | normal |
| CatchInFinally.cs:6:5:28:5 | {...} | CatchInFinally.cs:21:17:21:42 | call to method WriteLine | throw(ArgumentNullException) |
| CatchInFinally.cs:6:5:28:5 | {...} | CatchInFinally.cs:21:17:21:42 | call to method WriteLine | throw(Exception) |
| CatchInFinally.cs:6:5:28:5 | {...} | CatchInFinally.cs:21:17:21:42 | call to method WriteLine | throw(ArgumentNullException) [normal] |
| CatchInFinally.cs:6:5:28:5 | {...} | CatchInFinally.cs:21:17:21:42 | call to method WriteLine | throw(Exception) [normal] |
| CatchInFinally.cs:6:5:28:5 | {...} | CatchInFinally.cs:25:17:25:37 | call to method WriteLine | normal |
| CatchInFinally.cs:6:5:28:5 | {...} | CatchInFinally.cs:25:17:25:37 | call to method WriteLine | throw(ArgumentNullException) |
| CatchInFinally.cs:6:5:28:5 | {...} | CatchInFinally.cs:25:17:25:37 | call to method WriteLine | throw(Exception) |
| CatchInFinally.cs:6:5:28:5 | {...} | CatchInFinally.cs:25:17:25:37 | call to method WriteLine | throw(ArgumentNullException) [normal] |
| CatchInFinally.cs:6:5:28:5 | {...} | CatchInFinally.cs:25:17:25:37 | call to method WriteLine | throw(Exception) [normal] |
| CatchInFinally.cs:7:9:27:9 | try {...} ... | CatchInFinally.cs:16:21:16:36 | ... == ... | false/false |
| CatchInFinally.cs:7:9:27:9 | try {...} ... | CatchInFinally.cs:16:21:16:36 | ... == ... | throw(ArgumentNullException) |
| CatchInFinally.cs:7:9:27:9 | try {...} ... | CatchInFinally.cs:16:21:16:36 | ... == ... | throw(Exception) |
| CatchInFinally.cs:7:9:27:9 | try {...} ... | CatchInFinally.cs:16:21:16:36 | ... == ... | throw(ArgumentNullException) [false/false] |
| CatchInFinally.cs:7:9:27:9 | try {...} ... | CatchInFinally.cs:16:21:16:36 | ... == ... | throw(Exception) [false/false] |
| CatchInFinally.cs:7:9:27:9 | try {...} ... | CatchInFinally.cs:21:17:21:42 | call to method WriteLine | normal |
| CatchInFinally.cs:7:9:27:9 | try {...} ... | CatchInFinally.cs:21:17:21:42 | call to method WriteLine | throw(ArgumentNullException) |
| CatchInFinally.cs:7:9:27:9 | try {...} ... | CatchInFinally.cs:21:17:21:42 | call to method WriteLine | throw(Exception) |
| CatchInFinally.cs:7:9:27:9 | try {...} ... | CatchInFinally.cs:21:17:21:42 | call to method WriteLine | throw(ArgumentNullException) [normal] |
| CatchInFinally.cs:7:9:27:9 | try {...} ... | CatchInFinally.cs:21:17:21:42 | call to method WriteLine | throw(Exception) [normal] |
| CatchInFinally.cs:7:9:27:9 | try {...} ... | CatchInFinally.cs:25:17:25:37 | call to method WriteLine | normal |
| CatchInFinally.cs:7:9:27:9 | try {...} ... | CatchInFinally.cs:25:17:25:37 | call to method WriteLine | throw(ArgumentNullException) |
| CatchInFinally.cs:7:9:27:9 | try {...} ... | CatchInFinally.cs:25:17:25:37 | call to method WriteLine | throw(Exception) |
| CatchInFinally.cs:7:9:27:9 | try {...} ... | CatchInFinally.cs:25:17:25:37 | call to method WriteLine | throw(ArgumentNullException) [normal] |
| CatchInFinally.cs:7:9:27:9 | try {...} ... | CatchInFinally.cs:25:17:25:37 | call to method WriteLine | throw(Exception) [normal] |
| CatchInFinally.cs:8:9:11:9 | {...} | CatchInFinally.cs:9:17:9:28 | ... == ... | false/false |
| CatchInFinally.cs:8:9:11:9 | {...} | CatchInFinally.cs:10:17:10:50 | throw ...; | throw(ArgumentNullException) |
| CatchInFinally.cs:8:9:11:9 | {...} | CatchInFinally.cs:10:23:10:49 | object creation of type ArgumentNullException | throw(Exception) |
@@ -554,26 +554,26 @@
| CatchInFinally.cs:25:17:25:38 | ...; | CatchInFinally.cs:25:17:25:37 | call to method WriteLine | normal |
| CatchInFinally.cs:25:35:25:36 | "" | CatchInFinally.cs:25:35:25:36 | "" | normal |
| CatchInFinally.cs:35:5:51:5 | {...} | CatchInFinally.cs:44:21:44:22 | access to parameter b2 | false/false |
| CatchInFinally.cs:35:5:51:5 | {...} | CatchInFinally.cs:44:21:44:22 | access to parameter b2 | throw(Exception) |
| CatchInFinally.cs:35:5:51:5 | {...} | CatchInFinally.cs:44:21:44:22 | access to parameter b2 | throw(ExceptionA) |
| CatchInFinally.cs:35:5:51:5 | {...} | CatchInFinally.cs:46:13:49:13 | catch (...) {...} | throw(Exception) |
| CatchInFinally.cs:35:5:51:5 | {...} | CatchInFinally.cs:46:13:49:13 | catch (...) {...} | throw(ExceptionB) |
| CatchInFinally.cs:35:5:51:5 | {...} | CatchInFinally.cs:46:38:46:39 | access to parameter b2 | throw(Exception) |
| CatchInFinally.cs:35:5:51:5 | {...} | CatchInFinally.cs:46:38:46:39 | access to parameter b2 | throw(ExceptionB) |
| CatchInFinally.cs:35:5:51:5 | {...} | CatchInFinally.cs:44:21:44:22 | access to parameter b2 | throw(Exception) [false/false] |
| CatchInFinally.cs:35:5:51:5 | {...} | CatchInFinally.cs:44:21:44:22 | access to parameter b2 | throw(ExceptionA) [false/false] |
| CatchInFinally.cs:35:5:51:5 | {...} | CatchInFinally.cs:46:13:49:13 | catch (...) {...} | throw(Exception) [no-match] |
| CatchInFinally.cs:35:5:51:5 | {...} | CatchInFinally.cs:46:13:49:13 | catch (...) {...} | throw(ExceptionB) [no-match] |
| CatchInFinally.cs:35:5:51:5 | {...} | CatchInFinally.cs:46:38:46:39 | access to parameter b2 | throw(Exception) [false/false] |
| CatchInFinally.cs:35:5:51:5 | {...} | CatchInFinally.cs:46:38:46:39 | access to parameter b2 | throw(ExceptionB) [false/false] |
| CatchInFinally.cs:35:5:51:5 | {...} | CatchInFinally.cs:48:21:48:22 | access to parameter b1 | false/false |
| CatchInFinally.cs:35:5:51:5 | {...} | CatchInFinally.cs:48:21:48:22 | access to parameter b1 | throw(Exception) |
| CatchInFinally.cs:35:5:51:5 | {...} | CatchInFinally.cs:48:21:48:22 | access to parameter b1 | throw(ExceptionA) |
| CatchInFinally.cs:35:5:51:5 | {...} | CatchInFinally.cs:48:21:48:22 | access to parameter b1 | throw(Exception) [false/false] |
| CatchInFinally.cs:35:5:51:5 | {...} | CatchInFinally.cs:48:21:48:22 | access to parameter b1 | throw(ExceptionA) [false/false] |
| CatchInFinally.cs:35:5:51:5 | {...} | CatchInFinally.cs:48:25:48:47 | throw ...; | throw(ExceptionC) |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:44:21:44:22 | access to parameter b2 | false/false |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:44:21:44:22 | access to parameter b2 | throw(Exception) |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:44:21:44:22 | access to parameter b2 | throw(ExceptionA) |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:46:13:49:13 | catch (...) {...} | throw(Exception) |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:46:13:49:13 | catch (...) {...} | throw(ExceptionB) |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:46:38:46:39 | access to parameter b2 | throw(Exception) |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:46:38:46:39 | access to parameter b2 | throw(ExceptionB) |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:44:21:44:22 | access to parameter b2 | throw(Exception) [false/false] |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:44:21:44:22 | access to parameter b2 | throw(ExceptionA) [false/false] |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:46:13:49:13 | catch (...) {...} | throw(Exception) [no-match] |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:46:13:49:13 | catch (...) {...} | throw(ExceptionB) [no-match] |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:46:38:46:39 | access to parameter b2 | throw(Exception) [false/false] |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:46:38:46:39 | access to parameter b2 | throw(ExceptionB) [false/false] |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:48:21:48:22 | access to parameter b1 | false/false |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:48:21:48:22 | access to parameter b1 | throw(Exception) |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:48:21:48:22 | access to parameter b1 | throw(ExceptionA) |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:48:21:48:22 | access to parameter b1 | throw(Exception) [false/false] |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:48:21:48:22 | access to parameter b1 | throw(ExceptionA) [false/false] |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:48:25:48:47 | throw ...; | throw(ExceptionC) |
| CatchInFinally.cs:37:9:39:9 | {...} | CatchInFinally.cs:38:17:38:18 | access to parameter b1 | false/false |
| CatchInFinally.cs:37:9:39:9 | {...} | CatchInFinally.cs:38:21:38:43 | throw ...; | throw(ExceptionA) |
@@ -588,17 +588,17 @@
| CatchInFinally.cs:38:27:38:42 | object creation of type ExceptionA | CatchInFinally.cs:38:27:38:42 | object creation of type ExceptionA | normal |
| CatchInFinally.cs:38:27:38:42 | object creation of type ExceptionA | CatchInFinally.cs:38:27:38:42 | object creation of type ExceptionA | throw(Exception) |
| CatchInFinally.cs:41:9:50:9 | {...} | CatchInFinally.cs:44:21:44:22 | access to parameter b2 | false/false |
| CatchInFinally.cs:41:9:50:9 | {...} | CatchInFinally.cs:46:13:49:13 | catch (...) {...} | throw(Exception) |
| CatchInFinally.cs:41:9:50:9 | {...} | CatchInFinally.cs:46:13:49:13 | catch (...) {...} | throw(ExceptionB) |
| CatchInFinally.cs:41:9:50:9 | {...} | CatchInFinally.cs:46:38:46:39 | access to parameter b2 | throw(Exception) |
| CatchInFinally.cs:41:9:50:9 | {...} | CatchInFinally.cs:46:38:46:39 | access to parameter b2 | throw(ExceptionB) |
| CatchInFinally.cs:41:9:50:9 | {...} | CatchInFinally.cs:46:13:49:13 | catch (...) {...} | throw(Exception) [no-match] |
| CatchInFinally.cs:41:9:50:9 | {...} | CatchInFinally.cs:46:13:49:13 | catch (...) {...} | throw(ExceptionB) [no-match] |
| CatchInFinally.cs:41:9:50:9 | {...} | CatchInFinally.cs:46:38:46:39 | access to parameter b2 | throw(Exception) [false/false] |
| CatchInFinally.cs:41:9:50:9 | {...} | CatchInFinally.cs:46:38:46:39 | access to parameter b2 | throw(ExceptionB) [false/false] |
| CatchInFinally.cs:41:9:50:9 | {...} | CatchInFinally.cs:48:21:48:22 | access to parameter b1 | false/false |
| CatchInFinally.cs:41:9:50:9 | {...} | CatchInFinally.cs:48:25:48:47 | throw ...; | throw(ExceptionC) |
| CatchInFinally.cs:42:13:49:13 | try {...} ... | CatchInFinally.cs:44:21:44:22 | access to parameter b2 | false/false |
| CatchInFinally.cs:42:13:49:13 | try {...} ... | CatchInFinally.cs:46:13:49:13 | catch (...) {...} | throw(Exception) |
| CatchInFinally.cs:42:13:49:13 | try {...} ... | CatchInFinally.cs:46:13:49:13 | catch (...) {...} | throw(ExceptionB) |
| CatchInFinally.cs:42:13:49:13 | try {...} ... | CatchInFinally.cs:46:38:46:39 | access to parameter b2 | throw(Exception) |
| CatchInFinally.cs:42:13:49:13 | try {...} ... | CatchInFinally.cs:46:38:46:39 | access to parameter b2 | throw(ExceptionB) |
| CatchInFinally.cs:42:13:49:13 | try {...} ... | CatchInFinally.cs:46:13:49:13 | catch (...) {...} | throw(Exception) [no-match] |
| CatchInFinally.cs:42:13:49:13 | try {...} ... | CatchInFinally.cs:46:13:49:13 | catch (...) {...} | throw(ExceptionB) [no-match] |
| CatchInFinally.cs:42:13:49:13 | try {...} ... | CatchInFinally.cs:46:38:46:39 | access to parameter b2 | throw(Exception) [false/false] |
| CatchInFinally.cs:42:13:49:13 | try {...} ... | CatchInFinally.cs:46:38:46:39 | access to parameter b2 | throw(ExceptionB) [false/false] |
| CatchInFinally.cs:42:13:49:13 | try {...} ... | CatchInFinally.cs:48:21:48:22 | access to parameter b1 | false/false |
| CatchInFinally.cs:42:13:49:13 | try {...} ... | CatchInFinally.cs:48:25:48:47 | throw ...; | throw(ExceptionC) |
| CatchInFinally.cs:43:13:45:13 | {...} | CatchInFinally.cs:44:21:44:22 | access to parameter b2 | false/false |
@@ -613,10 +613,10 @@
| CatchInFinally.cs:44:25:44:47 | throw ...; | CatchInFinally.cs:44:31:44:46 | object creation of type ExceptionB | throw(Exception) |
| CatchInFinally.cs:44:31:44:46 | object creation of type ExceptionB | CatchInFinally.cs:44:31:44:46 | object creation of type ExceptionB | normal |
| CatchInFinally.cs:44:31:44:46 | object creation of type ExceptionB | CatchInFinally.cs:44:31:44:46 | object creation of type ExceptionB | throw(Exception) |
| CatchInFinally.cs:46:13:49:13 | catch (...) {...} | CatchInFinally.cs:46:13:49:13 | catch (...) {...} | throw(Exception) |
| CatchInFinally.cs:46:13:49:13 | catch (...) {...} | CatchInFinally.cs:46:13:49:13 | catch (...) {...} | throw(ExceptionB) |
| CatchInFinally.cs:46:13:49:13 | catch (...) {...} | CatchInFinally.cs:46:38:46:39 | access to parameter b2 | throw(Exception) |
| CatchInFinally.cs:46:13:49:13 | catch (...) {...} | CatchInFinally.cs:46:38:46:39 | access to parameter b2 | throw(ExceptionB) |
| CatchInFinally.cs:46:13:49:13 | catch (...) {...} | CatchInFinally.cs:46:13:49:13 | catch (...) {...} | throw(Exception) [no-match] |
| CatchInFinally.cs:46:13:49:13 | catch (...) {...} | CatchInFinally.cs:46:13:49:13 | catch (...) {...} | throw(ExceptionB) [no-match] |
| CatchInFinally.cs:46:13:49:13 | catch (...) {...} | CatchInFinally.cs:46:38:46:39 | access to parameter b2 | throw(Exception) [false/false] |
| CatchInFinally.cs:46:13:49:13 | catch (...) {...} | CatchInFinally.cs:46:38:46:39 | access to parameter b2 | throw(ExceptionB) [false/false] |
| CatchInFinally.cs:46:13:49:13 | catch (...) {...} | CatchInFinally.cs:48:21:48:22 | access to parameter b1 | false/false |
| CatchInFinally.cs:46:13:49:13 | catch (...) {...} | CatchInFinally.cs:48:25:48:47 | throw ...; | throw(ExceptionC) |
| CatchInFinally.cs:46:38:46:39 | access to parameter b2 | CatchInFinally.cs:46:38:46:39 | access to parameter b2 | false/false |
@@ -642,14 +642,14 @@
| CompileTimeOperators.cs:22:9:22:25 | return ...; | CompileTimeOperators.cs:22:9:22:25 | return ...; | return |
| CompileTimeOperators.cs:22:16:22:24 | nameof(...) | CompileTimeOperators.cs:22:16:22:24 | nameof(...) | normal |
| CompileTimeOperators.cs:22:23:22:23 | access to parameter i | CompileTimeOperators.cs:22:23:22:23 | access to parameter i | normal |
| CompileTimeOperators.cs:29:5:41:5 | {...} | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | goto(End) |
| CompileTimeOperators.cs:29:5:41:5 | {...} | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | throw(Exception) |
| CompileTimeOperators.cs:29:5:41:5 | {...} | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | throw(OutOfMemoryException) |
| CompileTimeOperators.cs:29:5:41:5 | {...} | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | goto(End) [normal] |
| CompileTimeOperators.cs:29:5:41:5 | {...} | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | throw(Exception) [normal] |
| CompileTimeOperators.cs:29:5:41:5 | {...} | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | throw(OutOfMemoryException) [normal] |
| CompileTimeOperators.cs:29:5:41:5 | {...} | CompileTimeOperators.cs:40:14:40:37 | call to method WriteLine | normal |
| CompileTimeOperators.cs:30:9:38:9 | try {...} ... | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | goto(End) |
| CompileTimeOperators.cs:30:9:38:9 | try {...} ... | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | goto(End) [normal] |
| CompileTimeOperators.cs:30:9:38:9 | try {...} ... | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | normal |
| CompileTimeOperators.cs:30:9:38:9 | try {...} ... | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | throw(Exception) |
| CompileTimeOperators.cs:30:9:38:9 | try {...} ... | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | throw(OutOfMemoryException) |
| CompileTimeOperators.cs:30:9:38:9 | try {...} ... | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | throw(Exception) [normal] |
| CompileTimeOperators.cs:30:9:38:9 | try {...} ... | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | throw(OutOfMemoryException) [normal] |
| CompileTimeOperators.cs:31:9:34:9 | {...} | CompileTimeOperators.cs:32:13:32:21 | goto ...; | goto(End) |
| CompileTimeOperators.cs:31:9:34:9 | {...} | CompileTimeOperators.cs:33:13:33:37 | call to method WriteLine | normal |
| CompileTimeOperators.cs:31:9:34:9 | {...} | CompileTimeOperators.cs:33:13:33:37 | call to method WriteLine | throw(Exception) |
@@ -1162,9 +1162,9 @@
| ExitMethods.cs:88:9:88:28 | ...; | ExitMethods.cs:88:9:88:27 | call to method Exit | exit |
| ExitMethods.cs:88:26:88:26 | 0 | ExitMethods.cs:88:26:88:26 | 0 | normal |
| ExitMethods.cs:92:5:102:5 | {...} | ExitMethods.cs:95:13:95:18 | call to method Exit | exit |
| ExitMethods.cs:92:5:102:5 | {...} | ExitMethods.cs:100:13:100:40 | call to method WriteLine | exit |
| ExitMethods.cs:92:5:102:5 | {...} | ExitMethods.cs:100:13:100:40 | call to method WriteLine | exit [normal] |
| ExitMethods.cs:93:9:101:9 | try {...} ... | ExitMethods.cs:95:13:95:18 | call to method Exit | exit |
| ExitMethods.cs:93:9:101:9 | try {...} ... | ExitMethods.cs:100:13:100:40 | call to method WriteLine | exit |
| ExitMethods.cs:93:9:101:9 | try {...} ... | ExitMethods.cs:100:13:100:40 | call to method WriteLine | exit [normal] |
| ExitMethods.cs:94:9:96:9 | {...} | ExitMethods.cs:95:13:95:18 | call to method Exit | exit |
| ExitMethods.cs:95:13:95:18 | call to method Exit | ExitMethods.cs:95:13:95:18 | call to method Exit | exit |
| ExitMethods.cs:95:13:95:18 | this access | ExitMethods.cs:95:13:95:18 | this access | normal |
@@ -2257,30 +2257,30 @@
| cflow.cs:144:46:144:51 | ... + ... | cflow.cs:144:46:144:51 | ... + ... | normal |
| cflow.cs:144:50:144:51 | "" | cflow.cs:144:50:144:51 | "" | normal |
| cflow.cs:144:60:144:62 | {...} | cflow.cs:144:60:144:62 | {...} | normal |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:154:13:154:40 | call to method WriteLine | throw(Exception) |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:154:13:154:40 | call to method WriteLine | throw(OutOfMemoryException) |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:186:13:186:40 | call to method WriteLine | return |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:186:13:186:40 | call to method WriteLine | throw(Exception) |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:186:13:186:40 | call to method WriteLine | throw(IOException) |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:203:13:203:40 | call to method WriteLine | return |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:203:13:203:40 | call to method WriteLine | throw(Exception) |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:203:13:203:40 | call to method WriteLine | throw(IOException) |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:203:13:203:40 | call to method WriteLine | throw(OutOfMemoryException) |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:227:21:227:23 | ...-- | return |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:227:21:227:23 | ...-- | throw(Exception) |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:243:17:243:32 | ... > ... | return |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:243:17:243:32 | ... > ... | throw(Exception) |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:243:17:243:32 | ... > ... | throw(NullReferenceException) |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:243:17:243:32 | ... > ... | throw(OutOfMemoryException) |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:244:17:244:36 | call to method WriteLine | return |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:244:17:244:36 | call to method WriteLine | throw(Exception) |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:244:17:244:36 | call to method WriteLine | throw(NullReferenceException) |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:244:17:244:36 | call to method WriteLine | throw(OutOfMemoryException) |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:154:13:154:40 | call to method WriteLine | throw(Exception) [normal] |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:154:13:154:40 | call to method WriteLine | throw(OutOfMemoryException) [normal] |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:186:13:186:40 | call to method WriteLine | return [normal] |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:186:13:186:40 | call to method WriteLine | throw(Exception) [normal] |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:186:13:186:40 | call to method WriteLine | throw(IOException) [normal] |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:203:13:203:40 | call to method WriteLine | return [normal] |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:203:13:203:40 | call to method WriteLine | throw(Exception) [normal] |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:203:13:203:40 | call to method WriteLine | throw(IOException) [normal] |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:203:13:203:40 | call to method WriteLine | throw(OutOfMemoryException) [normal] |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:227:21:227:23 | ...-- | return [normal] |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:227:21:227:23 | ...-- | throw(Exception) [normal] |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:243:17:243:32 | ... > ... | return [false/false] |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:243:17:243:32 | ... > ... | throw(Exception) [false/false] |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:243:17:243:32 | ... > ... | throw(NullReferenceException) [false/false] |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:243:17:243:32 | ... > ... | throw(OutOfMemoryException) [false/false] |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:244:17:244:36 | call to method WriteLine | return [normal] |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:244:17:244:36 | call to method WriteLine | throw(Exception) [normal] |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:244:17:244:36 | call to method WriteLine | throw(NullReferenceException) [normal] |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:244:17:244:36 | call to method WriteLine | throw(OutOfMemoryException) [normal] |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:249:17:249:40 | Double temp = ... | normal |
| cflow.cs:147:5:255:5 | {...} | cflow.cs:253:13:253:13 | ; | normal |
| cflow.cs:148:9:155:9 | try {...} ... | cflow.cs:154:13:154:40 | call to method WriteLine | normal |
| cflow.cs:148:9:155:9 | try {...} ... | cflow.cs:154:13:154:40 | call to method WriteLine | throw(Exception) |
| cflow.cs:148:9:155:9 | try {...} ... | cflow.cs:154:13:154:40 | call to method WriteLine | throw(OutOfMemoryException) |
| cflow.cs:148:9:155:9 | try {...} ... | cflow.cs:154:13:154:40 | call to method WriteLine | throw(Exception) [normal] |
| cflow.cs:148:9:155:9 | try {...} ... | cflow.cs:154:13:154:40 | call to method WriteLine | throw(OutOfMemoryException) [normal] |
| cflow.cs:149:9:151:9 | {...} | cflow.cs:150:13:150:37 | call to method WriteLine | normal |
| cflow.cs:149:9:151:9 | {...} | cflow.cs:150:13:150:37 | call to method WriteLine | throw(Exception) |
| cflow.cs:149:9:151:9 | {...} | cflow.cs:150:31:150:36 | "Try1" | throw(OutOfMemoryException) |
@@ -2297,9 +2297,9 @@
| cflow.cs:154:13:154:41 | ...; | cflow.cs:154:13:154:40 | call to method WriteLine | normal |
| cflow.cs:154:31:154:39 | "Finally" | cflow.cs:154:31:154:39 | "Finally" | normal |
| cflow.cs:157:9:187:9 | try {...} ... | cflow.cs:186:13:186:40 | call to method WriteLine | normal |
| cflow.cs:157:9:187:9 | try {...} ... | cflow.cs:186:13:186:40 | call to method WriteLine | return |
| cflow.cs:157:9:187:9 | try {...} ... | cflow.cs:186:13:186:40 | call to method WriteLine | throw(Exception) |
| cflow.cs:157:9:187:9 | try {...} ... | cflow.cs:186:13:186:40 | call to method WriteLine | throw(IOException) |
| cflow.cs:157:9:187:9 | try {...} ... | cflow.cs:186:13:186:40 | call to method WriteLine | return [normal] |
| cflow.cs:157:9:187:9 | try {...} ... | cflow.cs:186:13:186:40 | call to method WriteLine | throw(Exception) [normal] |
| cflow.cs:157:9:187:9 | try {...} ... | cflow.cs:186:13:186:40 | call to method WriteLine | throw(IOException) [normal] |
| cflow.cs:158:9:161:9 | {...} | cflow.cs:159:13:159:37 | call to method WriteLine | throw(Exception) |
| cflow.cs:158:9:161:9 | {...} | cflow.cs:159:31:159:36 | "Try2" | throw(OutOfMemoryException) |
| cflow.cs:158:9:161:9 | {...} | cflow.cs:160:13:160:19 | return ...; | return |
@@ -2342,10 +2342,10 @@
| cflow.cs:186:13:186:41 | ...; | cflow.cs:186:13:186:40 | call to method WriteLine | normal |
| cflow.cs:186:31:186:39 | "Finally" | cflow.cs:186:31:186:39 | "Finally" | normal |
| cflow.cs:189:9:204:9 | try {...} ... | cflow.cs:203:13:203:40 | call to method WriteLine | normal |
| cflow.cs:189:9:204:9 | try {...} ... | cflow.cs:203:13:203:40 | call to method WriteLine | return |
| cflow.cs:189:9:204:9 | try {...} ... | cflow.cs:203:13:203:40 | call to method WriteLine | throw(Exception) |
| cflow.cs:189:9:204:9 | try {...} ... | cflow.cs:203:13:203:40 | call to method WriteLine | throw(IOException) |
| cflow.cs:189:9:204:9 | try {...} ... | cflow.cs:203:13:203:40 | call to method WriteLine | throw(OutOfMemoryException) |
| cflow.cs:189:9:204:9 | try {...} ... | cflow.cs:203:13:203:40 | call to method WriteLine | return [normal] |
| cflow.cs:189:9:204:9 | try {...} ... | cflow.cs:203:13:203:40 | call to method WriteLine | throw(Exception) [normal] |
| cflow.cs:189:9:204:9 | try {...} ... | cflow.cs:203:13:203:40 | call to method WriteLine | throw(IOException) [normal] |
| cflow.cs:189:9:204:9 | try {...} ... | cflow.cs:203:13:203:40 | call to method WriteLine | throw(OutOfMemoryException) [normal] |
| cflow.cs:190:9:193:9 | {...} | cflow.cs:191:13:191:37 | call to method WriteLine | throw(Exception) |
| cflow.cs:190:9:193:9 | {...} | cflow.cs:191:31:191:36 | "Try3" | throw(OutOfMemoryException) |
| cflow.cs:190:9:193:9 | {...} | cflow.cs:192:13:192:19 | return ...; | return |
@@ -2364,10 +2364,10 @@
| cflow.cs:194:48:194:51 | true | cflow.cs:194:48:194:51 | true | true/true |
| cflow.cs:195:9:197:9 | {...} | cflow.cs:196:13:196:18 | throw ...; | throw(IOException) |
| cflow.cs:196:13:196:18 | throw ...; | cflow.cs:196:13:196:18 | throw ...; | throw(IOException) |
| cflow.cs:198:9:200:9 | catch (...) {...} | cflow.cs:198:9:200:9 | catch (...) {...} | throw(Exception) |
| cflow.cs:198:9:200:9 | catch (...) {...} | cflow.cs:198:9:200:9 | catch (...) {...} | throw(OutOfMemoryException) |
| cflow.cs:198:9:200:9 | catch (...) {...} | cflow.cs:198:35:198:51 | ... != ... | throw(Exception) |
| cflow.cs:198:9:200:9 | catch (...) {...} | cflow.cs:198:35:198:51 | ... != ... | throw(OutOfMemoryException) |
| cflow.cs:198:9:200:9 | catch (...) {...} | cflow.cs:198:9:200:9 | catch (...) {...} | throw(Exception) [no-match] |
| cflow.cs:198:9:200:9 | catch (...) {...} | cflow.cs:198:9:200:9 | catch (...) {...} | throw(OutOfMemoryException) [no-match] |
| cflow.cs:198:9:200:9 | catch (...) {...} | cflow.cs:198:35:198:51 | ... != ... | throw(Exception) [false/false] |
| cflow.cs:198:9:200:9 | catch (...) {...} | cflow.cs:198:35:198:51 | ... != ... | throw(OutOfMemoryException) [false/false] |
| cflow.cs:198:9:200:9 | catch (...) {...} | cflow.cs:199:9:200:9 | {...} | normal |
| cflow.cs:198:26:198:26 | Exception e | cflow.cs:198:26:198:26 | Exception e | normal |
| cflow.cs:198:35:198:35 | access to local variable e | cflow.cs:198:35:198:35 | access to local variable e | normal |
@@ -2385,22 +2385,22 @@
| cflow.cs:206:17:206:18 | 10 | cflow.cs:206:17:206:18 | 10 | normal |
| cflow.cs:207:9:230:9 | while (...) ... | cflow.cs:207:16:207:20 | ... > ... | false/false |
| cflow.cs:207:9:230:9 | while (...) ... | cflow.cs:227:21:227:23 | ...-- | normal (break) |
| cflow.cs:207:9:230:9 | while (...) ... | cflow.cs:227:21:227:23 | ...-- | return |
| cflow.cs:207:9:230:9 | while (...) ... | cflow.cs:227:21:227:23 | ...-- | throw(Exception) |
| cflow.cs:207:9:230:9 | while (...) ... | cflow.cs:227:21:227:23 | ...-- | return [normal] |
| cflow.cs:207:9:230:9 | while (...) ... | cflow.cs:227:21:227:23 | ...-- | throw(Exception) [normal] |
| cflow.cs:207:16:207:16 | access to local variable i | cflow.cs:207:16:207:16 | access to local variable i | normal |
| cflow.cs:207:16:207:20 | ... > ... | cflow.cs:207:16:207:20 | ... > ... | false/false |
| cflow.cs:207:16:207:20 | ... > ... | cflow.cs:207:16:207:20 | ... > ... | true/true |
| cflow.cs:207:20:207:20 | 0 | cflow.cs:207:20:207:20 | 0 | normal |
| cflow.cs:208:9:230:9 | {...} | cflow.cs:227:21:227:23 | ...-- | break |
| cflow.cs:208:9:230:9 | {...} | cflow.cs:227:21:227:23 | ...-- | continue |
| cflow.cs:208:9:230:9 | {...} | cflow.cs:227:21:227:23 | ...-- | break [normal] |
| cflow.cs:208:9:230:9 | {...} | cflow.cs:227:21:227:23 | ...-- | continue [normal] |
| cflow.cs:208:9:230:9 | {...} | cflow.cs:227:21:227:23 | ...-- | normal |
| cflow.cs:208:9:230:9 | {...} | cflow.cs:227:21:227:23 | ...-- | return |
| cflow.cs:208:9:230:9 | {...} | cflow.cs:227:21:227:23 | ...-- | throw(Exception) |
| cflow.cs:209:13:229:13 | try {...} ... | cflow.cs:227:21:227:23 | ...-- | break |
| cflow.cs:209:13:229:13 | try {...} ... | cflow.cs:227:21:227:23 | ...-- | continue |
| cflow.cs:208:9:230:9 | {...} | cflow.cs:227:21:227:23 | ...-- | return [normal] |
| cflow.cs:208:9:230:9 | {...} | cflow.cs:227:21:227:23 | ...-- | throw(Exception) [normal] |
| cflow.cs:209:13:229:13 | try {...} ... | cflow.cs:227:21:227:23 | ...-- | break [normal] |
| cflow.cs:209:13:229:13 | try {...} ... | cflow.cs:227:21:227:23 | ...-- | continue [normal] |
| cflow.cs:209:13:229:13 | try {...} ... | cflow.cs:227:21:227:23 | ...-- | normal |
| cflow.cs:209:13:229:13 | try {...} ... | cflow.cs:227:21:227:23 | ...-- | return |
| cflow.cs:209:13:229:13 | try {...} ... | cflow.cs:227:21:227:23 | ...-- | throw(Exception) |
| cflow.cs:209:13:229:13 | try {...} ... | cflow.cs:227:21:227:23 | ...-- | return [normal] |
| cflow.cs:209:13:229:13 | try {...} ... | cflow.cs:227:21:227:23 | ...-- | throw(Exception) [normal] |
| cflow.cs:210:13:217:13 | {...} | cflow.cs:212:21:212:27 | return ...; | return |
| cflow.cs:210:13:217:13 | {...} | cflow.cs:214:21:214:29 | continue; | continue |
| cflow.cs:210:13:217:13 | {...} | cflow.cs:215:21:215:26 | ... == ... | false/false |
@@ -2427,9 +2427,9 @@
| cflow.cs:215:26:215:26 | 2 | cflow.cs:215:26:215:26 | 2 | normal |
| cflow.cs:216:21:216:26 | break; | cflow.cs:216:21:216:26 | break; | break |
| cflow.cs:219:13:229:13 | {...} | cflow.cs:227:21:227:23 | ...-- | normal |
| cflow.cs:219:13:229:13 | {...} | cflow.cs:227:21:227:23 | ...-- | throw(Exception) |
| cflow.cs:219:13:229:13 | {...} | cflow.cs:227:21:227:23 | ...-- | throw(Exception) [normal] |
| cflow.cs:220:17:228:17 | try {...} ... | cflow.cs:227:21:227:23 | ...-- | normal |
| cflow.cs:220:17:228:17 | try {...} ... | cflow.cs:227:21:227:23 | ...-- | throw(Exception) |
| cflow.cs:220:17:228:17 | try {...} ... | cflow.cs:227:21:227:23 | ...-- | throw(Exception) [normal] |
| cflow.cs:221:17:224:17 | {...} | cflow.cs:222:25:222:30 | ... == ... | false/false |
| cflow.cs:221:17:224:17 | {...} | cflow.cs:223:25:223:46 | throw ...; | throw(Exception) |
| cflow.cs:221:17:224:17 | {...} | cflow.cs:223:31:223:45 | object creation of type Exception | throw(Exception) |
@@ -2449,15 +2449,15 @@
| cflow.cs:227:21:227:23 | ...-- | cflow.cs:227:21:227:23 | ...-- | normal |
| cflow.cs:227:21:227:24 | ...; | cflow.cs:227:21:227:23 | ...-- | normal |
| cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:243:17:243:32 | ... > ... | false/false |
| cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:243:17:243:32 | ... > ... | return |
| cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:243:17:243:32 | ... > ... | throw(Exception) |
| cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:243:17:243:32 | ... > ... | throw(NullReferenceException) |
| cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:243:17:243:32 | ... > ... | throw(OutOfMemoryException) |
| cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:243:17:243:32 | ... > ... | return [false/false] |
| cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:243:17:243:32 | ... > ... | throw(Exception) [false/false] |
| cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:243:17:243:32 | ... > ... | throw(NullReferenceException) [false/false] |
| cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:243:17:243:32 | ... > ... | throw(OutOfMemoryException) [false/false] |
| cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:244:17:244:36 | call to method WriteLine | normal |
| cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:244:17:244:36 | call to method WriteLine | return |
| cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:244:17:244:36 | call to method WriteLine | throw(Exception) |
| cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:244:17:244:36 | call to method WriteLine | throw(NullReferenceException) |
| cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:244:17:244:36 | call to method WriteLine | throw(OutOfMemoryException) |
| cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:244:17:244:36 | call to method WriteLine | return [normal] |
| cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:244:17:244:36 | call to method WriteLine | throw(Exception) [normal] |
| cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:244:17:244:36 | call to method WriteLine | throw(NullReferenceException) [normal] |
| cflow.cs:232:9:245:9 | try {...} ... | cflow.cs:244:17:244:36 | call to method WriteLine | throw(OutOfMemoryException) [normal] |
| cflow.cs:233:9:238:9 | {...} | cflow.cs:234:17:234:21 | access to field Field | throw(NullReferenceException) |
| cflow.cs:233:9:238:9 | {...} | cflow.cs:234:17:234:28 | access to property Length | throw(Exception) |
| cflow.cs:233:9:238:9 | {...} | cflow.cs:234:17:234:28 | access to property Length | throw(NullReferenceException) |
@@ -2891,9 +2891,9 @@
| cflow.cs:367:35:367:35 | 0 | cflow.cs:367:35:367:35 | 0 | normal |
| cflow.cs:368:17:368:22 | break; | cflow.cs:368:17:368:22 | break; | break |
| cflow.cs:373:5:388:5 | {...} | cflow.cs:386:13:386:41 | call to method WriteLine | normal |
| cflow.cs:373:5:388:5 | {...} | cflow.cs:386:13:386:41 | call to method WriteLine | return |
| cflow.cs:373:5:388:5 | {...} | cflow.cs:386:13:386:41 | call to method WriteLine | throw(Exception) |
| cflow.cs:373:5:388:5 | {...} | cflow.cs:386:13:386:41 | call to method WriteLine | throw(OutOfMemoryException) |
| cflow.cs:373:5:388:5 | {...} | cflow.cs:386:13:386:41 | call to method WriteLine | return [normal] |
| cflow.cs:373:5:388:5 | {...} | cflow.cs:386:13:386:41 | call to method WriteLine | throw(Exception) [normal] |
| cflow.cs:373:5:388:5 | {...} | cflow.cs:386:13:386:41 | call to method WriteLine | throw(OutOfMemoryException) [normal] |
| cflow.cs:374:9:374:23 | yield return ...; | cflow.cs:374:9:374:23 | yield return ...; | normal |
| cflow.cs:374:22:374:22 | 0 | cflow.cs:374:22:374:22 | 0 | normal |
| cflow.cs:375:9:378:9 | for (...;...;...) ... | cflow.cs:375:25:375:30 | ... < ... | false/false |
@@ -2909,9 +2909,9 @@
| cflow.cs:377:13:377:27 | yield return ...; | cflow.cs:377:13:377:27 | yield return ...; | normal |
| cflow.cs:377:26:377:26 | access to local variable i | cflow.cs:377:26:377:26 | access to local variable i | normal |
| cflow.cs:379:9:387:9 | try {...} ... | cflow.cs:386:13:386:41 | call to method WriteLine | normal |
| cflow.cs:379:9:387:9 | try {...} ... | cflow.cs:386:13:386:41 | call to method WriteLine | return |
| cflow.cs:379:9:387:9 | try {...} ... | cflow.cs:386:13:386:41 | call to method WriteLine | throw(Exception) |
| cflow.cs:379:9:387:9 | try {...} ... | cflow.cs:386:13:386:41 | call to method WriteLine | throw(OutOfMemoryException) |
| cflow.cs:379:9:387:9 | try {...} ... | cflow.cs:386:13:386:41 | call to method WriteLine | return [normal] |
| cflow.cs:379:9:387:9 | try {...} ... | cflow.cs:386:13:386:41 | call to method WriteLine | throw(Exception) [normal] |
| cflow.cs:379:9:387:9 | try {...} ... | cflow.cs:386:13:386:41 | call to method WriteLine | throw(OutOfMemoryException) [normal] |
| cflow.cs:380:9:383:9 | {...} | cflow.cs:381:13:381:24 | yield break; | return |
| cflow.cs:380:9:383:9 | {...} | cflow.cs:382:13:382:42 | call to method WriteLine | normal |
| cflow.cs:380:9:383:9 | {...} | cflow.cs:382:13:382:42 | call to method WriteLine | throw(Exception) |
@@ -2938,13 +2938,13 @@
| cflow.cs:397:34:397:45 | call to method ToString | cflow.cs:397:34:397:45 | call to method ToString | normal |
| cflow.cs:397:48:397:50 | {...} | cflow.cs:397:48:397:50 | {...} | normal |
| cflow.cs:403:5:414:5 | {...} | cflow.cs:410:13:410:44 | throw ...; | throw(ArgumentException) |
| cflow.cs:403:5:414:5 | {...} | cflow.cs:411:13:411:37 | call to method WriteLine | throw(Exception) |
| cflow.cs:403:5:414:5 | {...} | cflow.cs:411:13:411:37 | call to method WriteLine | throw(OutOfMemoryException) |
| cflow.cs:403:5:414:5 | {...} | cflow.cs:411:13:411:37 | call to method WriteLine | throw(Exception) [normal] |
| cflow.cs:403:5:414:5 | {...} | cflow.cs:411:13:411:37 | call to method WriteLine | throw(OutOfMemoryException) [normal] |
| cflow.cs:403:5:414:5 | {...} | cflow.cs:413:9:413:33 | call to method WriteLine | normal |
| cflow.cs:404:9:412:9 | try {...} ... | cflow.cs:410:13:410:44 | throw ...; | throw(ArgumentException) |
| cflow.cs:404:9:412:9 | try {...} ... | cflow.cs:411:13:411:37 | call to method WriteLine | normal |
| cflow.cs:404:9:412:9 | try {...} ... | cflow.cs:411:13:411:37 | call to method WriteLine | throw(Exception) |
| cflow.cs:404:9:412:9 | try {...} ... | cflow.cs:411:13:411:37 | call to method WriteLine | throw(OutOfMemoryException) |
| cflow.cs:404:9:412:9 | try {...} ... | cflow.cs:411:13:411:37 | call to method WriteLine | throw(Exception) [normal] |
| cflow.cs:404:9:412:9 | try {...} ... | cflow.cs:411:13:411:37 | call to method WriteLine | throw(OutOfMemoryException) [normal] |
| cflow.cs:405:9:407:9 | {...} | cflow.cs:406:13:406:36 | call to method WriteLine | normal |
| cflow.cs:405:9:407:9 | {...} | cflow.cs:406:13:406:36 | call to method WriteLine | throw(Exception) |
| cflow.cs:405:9:407:9 | {...} | cflow.cs:406:31:406:35 | "Try" | throw(OutOfMemoryException) |

View File

@@ -102,18 +102,18 @@
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:44:17:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] if (...) ... |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true] throw ...; |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] throw ...; |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] catch (...) {...} |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true] catch (...) {...} |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] catch (...) {...} |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true] catch (...) {...} |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] access to parameter b2 |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true] access to parameter b2 |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] access to parameter b2 |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true] access to parameter b2 |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] throw ...; |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] throw ...; |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] catch (...) {...} |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] access to parameter b2 |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} |
| CatchInFinally.cs:36:9:50:9 | try {...} ... | CatchInFinally.cs:48:17:48:47 | [finally: exception(Exception), b1 (line 34): true] if (...) ... |

View File

@@ -621,41 +621,35 @@
| CatchInFinally.cs:44:17:44:47 | [finally: exception(Exception), b1 (line 34): true] if (...) ... | CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 | semmle.label | successor |
| CatchInFinally.cs:44:17:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] if (...) ... | CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 | semmle.label | successor |
| CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | false |
| CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false] object creation of type ExceptionB | semmle.label | true |
| CatchInFinally.cs:44:21:44:22 | [b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB | semmle.label | true |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(Exception) |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB | semmle.label | true |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | semmle.label | true |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(ExceptionA) |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB | semmle.label | true |
| CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false] throw ...; | CatchInFinally.cs:46:13:49:13 | [exception: ExceptionB, b1 (line 34): false] catch (...) {...} | semmle.label | exception(ExceptionB) |
| CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true] throw ...; | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true] catch (...) {...} | semmle.label | exception(ExceptionB) |
| CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] throw ...; | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true] catch (...) {...} | semmle.label | exception(ExceptionB) |
| CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false] object creation of type ExceptionB | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false] throw ...; | semmle.label | successor |
| CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false] object creation of type ExceptionB | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false] catch (...) {...} | semmle.label | exception(Exception) |
| CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true] throw ...; | semmle.label | successor |
| CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] catch (...) {...} | semmle.label | exception(Exception) |
| CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true] throw ...; | semmle.label | successor |
| CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] catch (...) {...} | semmle.label | exception(Exception) |
| CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false] catch (...) {...} | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(Exception) |
| CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false] access to parameter b2 | semmle.label | match |
| CatchInFinally.cs:46:13:49:13 | [exception: ExceptionB, b1 (line 34): false] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [exception: ExceptionB, b1 (line 34): false] access to parameter b2 | semmle.label | match |
| CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] catch (...) {...} | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(Exception) |
| CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] access to parameter b2 | semmle.label | match |
| CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true] access to parameter b2 | semmle.label | match |
| CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] catch (...) {...} | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(Exception) |
| CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] access to parameter b2 | semmle.label | match |
| CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true] access to parameter b2 | semmle.label | match |
| CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(Exception) |
| CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} | semmle.label | true |
| CatchInFinally.cs:46:38:46:39 | [exception: ExceptionB, b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(ExceptionB) |
| CatchInFinally.cs:46:38:46:39 | [exception: ExceptionB, b1 (line 34): false] access to parameter b2 | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} | semmle.label | true |
| CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(Exception) |
| CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} | semmle.label | true |
| CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(ExceptionB) |
| CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} | semmle.label | true |
| CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(Exception) |
| CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} | semmle.label | true |
| CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(ExceptionB) |
| CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} | semmle.label | true |
| CatchInFinally.cs:44:21:44:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b2 | CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | semmle.label | true |
| CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false, b2 (line 34): true] throw ...; | CatchInFinally.cs:46:13:49:13 | [exception: ExceptionB, b1 (line 34): false, b2 (line 34): true] catch (...) {...} | semmle.label | exception(ExceptionB) |
| CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] throw ...; | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | semmle.label | exception(ExceptionB) |
| CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] throw ...; | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | semmle.label | exception(ExceptionB) |
| CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:25:44:47 | [b1 (line 34): false, b2 (line 34): true] throw ...; | semmle.label | successor |
| CatchInFinally.cs:44:31:44:46 | [b1 (line 34): false, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} | semmle.label | exception(Exception) |
| CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:25:44:47 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] throw ...; | semmle.label | successor |
| CatchInFinally.cs:44:31:44:46 | [finally: exception(Exception), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | semmle.label | exception(Exception) |
| CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:44:25:44:47 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] throw ...; | semmle.label | successor |
| CatchInFinally.cs:44:31:44:46 | [finally: exception(ExceptionA), b1 (line 34): true, b2 (line 34): true] object creation of type ExceptionB | CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | semmle.label | exception(Exception) |
| CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(Exception) |
| CatchInFinally.cs:46:13:49:13 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] access to parameter b2 | semmle.label | match |
| CatchInFinally.cs:46:13:49:13 | [exception: ExceptionB, b1 (line 34): false, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [exception: ExceptionB, b1 (line 34): false, b2 (line 34): true] access to parameter b2 | semmle.label | match |
| CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(Exception) |
| CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | semmle.label | match |
| CatchInFinally.cs:46:13:49:13 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | semmle.label | match |
| CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(Exception) |
| CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | semmle.label | match |
| CatchInFinally.cs:46:13:49:13 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] catch (...) {...} | CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | semmle.label | match |
| CatchInFinally.cs:46:38:46:39 | [exception: Exception, b1 (line 34): false, b2 (line 34): true] access to parameter b2 | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} | semmle.label | true |
| CatchInFinally.cs:46:38:46:39 | [exception: ExceptionB, b1 (line 34): false, b2 (line 34): true] access to parameter b2 | CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} | semmle.label | true |
| CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} | semmle.label | true |
| CatchInFinally.cs:46:38:46:39 | [finally: exception(Exception), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} | semmle.label | true |
| CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: Exception, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} | semmle.label | true |
| CatchInFinally.cs:46:38:46:39 | [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 34): true, b2 (line 34): true] access to parameter b2 | CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} | semmle.label | true |
| CatchInFinally.cs:47:13:49:13 | [b1 (line 34): false] {...} | CatchInFinally.cs:48:17:48:47 | [b1 (line 34): false] if (...) ... | semmle.label | successor |
| CatchInFinally.cs:47:13:49:13 | [finally: exception(Exception), b1 (line 34): true] {...} | CatchInFinally.cs:48:17:48:47 | [finally: exception(Exception), b1 (line 34): true] if (...) ... | semmle.label | successor |
| CatchInFinally.cs:47:13:49:13 | [finally: exception(ExceptionA), b1 (line 34): true] {...} | CatchInFinally.cs:48:17:48:47 | [finally: exception(ExceptionA), b1 (line 34): true] if (...) ... | semmle.label | successor |
@@ -663,9 +657,7 @@
| CatchInFinally.cs:48:17:48:47 | [finally: exception(Exception), b1 (line 34): true] if (...) ... | CatchInFinally.cs:48:21:48:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b1 | semmle.label | successor |
| CatchInFinally.cs:48:17:48:47 | [finally: exception(ExceptionA), b1 (line 34): true] if (...) ... | CatchInFinally.cs:48:21:48:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b1 | semmle.label | successor |
| CatchInFinally.cs:48:21:48:22 | [b1 (line 34): false] access to parameter b1 | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | false |
| CatchInFinally.cs:48:21:48:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b1 | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(Exception) |
| CatchInFinally.cs:48:21:48:22 | [finally: exception(Exception), b1 (line 34): true] access to parameter b1 | CatchInFinally.cs:48:31:48:46 | [finally: exception(Exception)] object creation of type ExceptionC | semmle.label | true |
| CatchInFinally.cs:48:21:48:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b1 | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(ExceptionA) |
| CatchInFinally.cs:48:21:48:22 | [finally: exception(ExceptionA), b1 (line 34): true] access to parameter b1 | CatchInFinally.cs:48:31:48:46 | [finally: exception(ExceptionA)] object creation of type ExceptionC | semmle.label | true |
| CatchInFinally.cs:48:25:48:47 | [finally: exception(Exception)] throw ...; | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(ExceptionC) |
| CatchInFinally.cs:48:25:48:47 | [finally: exception(ExceptionA)] throw ...; | CatchInFinally.cs:34:24:34:25 | exit M2 | semmle.label | exception(ExceptionC) |