mirror of
https://github.com/github/codeql.git
synced 2026-04-27 17:55:19 +02:00
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:
@@ -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)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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()) }
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 (...) ... |
|
||||
|
||||
@@ -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) |
|
||||
|
||||
@@ -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 (...) ... |
|
||||
|
||||
@@ -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) |
|
||||
|
||||
Reference in New Issue
Block a user