Merge pull request #20665 from aschackmull/csharp/guards-replace

C#: Replace old Guards with the new shared implementation.
This commit is contained in:
Anders Schack-Mulligen
2025-10-31 14:12:47 +01:00
committed by GitHub
34 changed files with 3001 additions and 7526 deletions

View File

@@ -10,7 +10,6 @@ module Stages {
cached
module ControlFlowStage {
private import semmle.code.csharp.controlflow.internal.Splitting
private import semmle.code.csharp.controlflow.Guards as Guards
cached
predicate forceCachingInSameStage() { any() }
@@ -21,8 +20,6 @@ module Stages {
or
exists(ControlFlow::Node n)
or
Guards::Internal::isCustomNullCheck(_, _, _, _)
or
forceCachingInSameStageRev()
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -390,11 +390,6 @@ private predicate invalidCastCandidate(CastExpr ce) {
ce.getExpr().getType() = getACastExprBaseType(ce)
}
private predicate assertion(Assertion a, int i, AssertMethod am, Expr e) {
e = a.getExpr(i) and
am = a.getAssertMethod()
}
/** Gets a valid completion when argument `i` fails in assertion `a`. */
Completion assertionCompletion(Assertion a, int i) {
exists(AssertMethod am | am = a.getAssertMethod() |
@@ -429,11 +424,6 @@ private predicate inBooleanContext(Expr e) {
or
e = any(SpecificCatchClause scc).getFilterClause()
or
exists(BooleanAssertMethod m, int i |
assertion(_, i, m, e) and
i = m.getAnAssertionIndex(_)
)
or
e = any(LogicalNotExpr lne | inBooleanContext(lne)).getAnOperand()
or
exists(LogicalAndExpr lae |
@@ -481,11 +471,6 @@ private predicate inNullnessContext(Expr e) {
or
exists(QualifiableExpr qe | qe.isConditional() | e = qe.getChildExpr(-1))
or
exists(NullnessAssertMethod m, int i |
assertion(_, i, m, e) and
i = m.getAnAssertionIndex(_)
)
or
exists(ConditionalExpr ce | inNullnessContext(ce) | (e = ce.getThen() or e = ce.getElse()))
or
exists(NullCoalescingExpr nce | inNullnessContext(nce) | e = nce.getRightOperand())

View File

@@ -24,17 +24,12 @@ private module Cached {
cached
newtype TSplitKind =
TInitializerSplitKind() or
TConditionalCompletionSplitKind() or
TAssertionSplitKind()
TConditionalCompletionSplitKind()
cached
newtype TSplit =
TInitializerSplit(Constructor c) { InitializerSplitting::constructorInitializes(c, _) } or
TConditionalCompletionSplit(ConditionalCompletion c) or
TAssertionSplit(AssertionSplitting::Assertion a, int i, boolean success) {
exists(a.getExpr(i)) and
success in [false, true]
}
TConditionalCompletionSplit(ConditionalCompletion c)
}
import Cached
@@ -320,130 +315,3 @@ module ConditionalCompletionSplitting {
int getNextListOrder() { result = InitializerSplitting::getNextListOrder() + 1 }
}
module AssertionSplitting {
import semmle.code.csharp.commons.Assertions
private import semmle.code.csharp.ExprOrStmtParent
private AstNode getAnAssertionDescendant(Assertion a) {
result = a
or
result = getAnAssertionDescendant(a).getAChild()
}
/**
* A split for assertions. For example, in
*
* ```csharp
* void M(int i)
* {
* Debug.Assert(i >= 0);
* System.Console.WriteLine("i is positive")
* }
* ```
*
* we record whether `i >= 0` evaluates to `true` or `false`, and restrict the
* edges out of the assertion accordingly.
*/
class AssertionSplit extends Split, TAssertionSplit {
Assertion a;
boolean success;
int i;
AssertionSplit() { this = TAssertionSplit(a, i, success) }
/** Gets the assertion. */
Assertion getAssertion() { result = a }
/** Holds if this split represents a successful assertion. */
predicate isSuccess() { success = true }
override string toString() {
success = true and result = "assertion success"
or
success = false and result = "assertion failure"
}
}
private class AssertionSplitKind extends SplitKind, TAssertionSplitKind {
override int getListOrder() { result = ConditionalCompletionSplitting::getNextListOrder() }
override predicate isEnabled(AstNode cfe) { this.appliesTo(cfe) }
override string toString() { result = "Assertion" }
}
int getNextListOrder() { result = ConditionalCompletionSplitting::getNextListOrder() + 1 }
private class AssertionSplitImpl extends SplitImpl instanceof AssertionSplit {
Assertion a;
boolean success;
int i;
AssertionSplitImpl() { this = TAssertionSplit(a, i, success) }
override AssertionSplitKind getKind() { any() }
override predicate hasEntry(AstNode pred, AstNode succ, Completion c) {
exists(AssertMethod m |
last(a.getExpr(i), pred, c) and
succ(pred, succ, c) and
m = a.getAssertMethod() and
// The assertion only succeeds when all asserted arguments succeeded, so
// we only enter a "success" state after the last argument has succeeded.
//
// The split is only entered if we are not already in a "failing" state
// for one of the previous arguments, which ensures that the "success"
// state is only entered when all arguments succeed. This also means
// that if multiple arguments fail, then the first failing argument
// will determine the exception being thrown by the assertion.
if success = true then i = max(int j | exists(a.getExpr(j))) else any()
|
exists(boolean b | i = m.(BooleanAssertMethod).getAnAssertionIndex(b) |
c instanceof TrueCompletion and success = b
or
c instanceof FalseCompletion and success = b.booleanNot()
)
or
exists(boolean b | i = m.(NullnessAssertMethod).getAnAssertionIndex(b) |
c.(NullnessCompletion).isNull() and success = b
or
c.(NullnessCompletion).isNonNull() and success = b.booleanNot()
)
)
}
override predicate hasEntryScope(CfgScope scope, AstNode first) { none() }
override predicate hasExit(AstNode pred, AstNode succ, Completion c) {
this.appliesTo(pred) and
pred = a and
succ(pred, succ, c) and
(
success = true and
c instanceof NormalCompletion
or
success = false and
c = assertionCompletion(a, i)
)
}
override predicate hasExitScope(CfgScope scope, AstNode last, Completion c) {
this.appliesTo(last) and
last = a and
scopeLast(scope, last, c) and
(
success = true and
c instanceof NormalCompletion
or
success = false and
c = assertionCompletion(a, i)
)
}
override predicate hasSuccessor(AstNode pred, AstNode succ, Completion c) {
this.appliesSucc(pred, succ, c) and
succ = getAnAssertionDescendant(a)
}
}
}

View File

@@ -193,7 +193,7 @@ private predicate defMaybeNull(
(
// A variable compared to `null` might be `null`
exists(G::DereferenceableExpr de | de = def.getARead() |
reason = de.getANullCheck(_, true) and
de.guardSuggestsMaybeNull(reason) and
msg = "as suggested by $@ null check" and
node = def.getControlFlowNode() and
not de = any(Ssa::PhiNode phi).getARead() and

View File

@@ -2906,7 +2906,8 @@ class DataFlowExpr = Expr;
/** Holds if `e` is an expression that always has the same Boolean value `val`. */
private predicate constantBooleanExpr(Expr e, boolean val) {
e = any(AbstractValues::BooleanValue bv | val = bv.getValue()).getAnExpr()
e.getType() instanceof BoolType and
e.getValue() = val.toString()
or
exists(Ssa::ExplicitDefinition def, Expr src |
e = def.getARead() and

View File

@@ -111,19 +111,6 @@ private module Impl {
}
}
private Guard eqFlowCondAbs(
Definition def, ExprNode e, int delta, boolean isEq, G::AbstractValue v
) {
exists(boolean eqpolarity |
result.isEquality(ssaRead(def, delta), e, eqpolarity) and
eqpolarity.booleanXor(v.(BooleanValue).getValue()).booleanNot() = isEq
)
or
exists(G::AbstractValue v0 |
G::Internal::impliesStep(result, v, eqFlowCondAbs(def, e, delta, isEq, v0), v0)
)
}
/**
* Gets a condition that tests whether `def` equals `e + delta`.
*
@@ -132,9 +119,10 @@ private module Impl {
* - `isEq = false` : `def != e + delta`
*/
Guard eqFlowCond(Definition def, ExprNode e, int delta, boolean isEq, boolean testIsTrue) {
exists(BooleanValue v |
result = eqFlowCondAbs(def, e, delta, isEq, v) and
testIsTrue = v.getValue()
exists(boolean eqpolarity |
result.isEquality(ssaRead(def, delta), e, eqpolarity) and
testIsTrue = [false, true] and
eqpolarity.booleanXor(testIsTrue).booleanNot() = isEq
)
}

View File

@@ -20,176 +20,149 @@
| Assert.cs:5:7:5:17 | enter AssertTests | Assert.cs:5:7:5:17 | exit AssertTests | 5 |
| Assert.cs:7:10:7:11 | enter M1 | Assert.cs:9:20:9:20 | access to parameter b | 4 |
| Assert.cs:7:10:7:11 | exit M1 | Assert.cs:7:10:7:11 | exit M1 | 1 |
| Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:10:22:10:30 | ... != ... | 6 |
| Assert.cs:7:10:7:11 | exit M1 (abnormal) | Assert.cs:7:10:7:11 | exit M1 (abnormal) | 1 |
| Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:10:9:10:31 | call to method Assert | 7 |
| Assert.cs:9:24:9:27 | null | Assert.cs:9:24:9:27 | null | 1 |
| Assert.cs:9:31:9:32 | "" | Assert.cs:9:31:9:32 | "" | 1 |
| Assert.cs:10:9:10:31 | [assertion failure] call to method Assert | Assert.cs:7:10:7:11 | exit M1 (abnormal) | 2 |
| Assert.cs:10:9:10:31 | [assertion success] call to method Assert | Assert.cs:7:10:7:11 | exit M1 (normal) | 6 |
| Assert.cs:11:9:11:36 | ...; | Assert.cs:7:10:7:11 | exit M1 (normal) | 5 |
| Assert.cs:14:10:14:11 | enter M2 | Assert.cs:16:20:16:20 | access to parameter b | 4 |
| Assert.cs:14:10:14:11 | exit M2 | Assert.cs:14:10:14:11 | exit M2 | 1 |
| Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:17:23:17:23 | access to local variable s | 4 |
| Assert.cs:14:10:14:11 | exit M2 (abnormal) | Assert.cs:14:10:14:11 | exit M2 (abnormal) | 1 |
| Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:17:9:17:24 | call to method IsNull | 5 |
| Assert.cs:16:24:16:27 | null | Assert.cs:16:24:16:27 | null | 1 |
| Assert.cs:16:31:16:32 | "" | Assert.cs:16:31:16:32 | "" | 1 |
| Assert.cs:17:9:17:24 | [assertion failure] call to method IsNull | Assert.cs:14:10:14:11 | exit M2 (abnormal) | 2 |
| Assert.cs:17:9:17:24 | [assertion success] call to method IsNull | Assert.cs:14:10:14:11 | exit M2 (normal) | 6 |
| Assert.cs:18:9:18:36 | ...; | Assert.cs:14:10:14:11 | exit M2 (normal) | 5 |
| Assert.cs:21:10:21:11 | enter M3 | Assert.cs:23:20:23:20 | access to parameter b | 4 |
| Assert.cs:21:10:21:11 | exit M3 | Assert.cs:21:10:21:11 | exit M3 | 1 |
| Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:24:26:24:26 | access to local variable s | 4 |
| Assert.cs:21:10:21:11 | exit M3 (abnormal) | Assert.cs:21:10:21:11 | exit M3 (abnormal) | 1 |
| Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:24:9:24:27 | call to method IsNotNull | 5 |
| Assert.cs:23:24:23:27 | null | Assert.cs:23:24:23:27 | null | 1 |
| Assert.cs:23:31:23:32 | "" | Assert.cs:23:31:23:32 | "" | 1 |
| Assert.cs:24:9:24:27 | [assertion failure] call to method IsNotNull | Assert.cs:21:10:21:11 | exit M3 (abnormal) | 2 |
| Assert.cs:24:9:24:27 | [assertion success] call to method IsNotNull | Assert.cs:21:10:21:11 | exit M3 (normal) | 6 |
| Assert.cs:25:9:25:36 | ...; | Assert.cs:21:10:21:11 | exit M3 (normal) | 5 |
| Assert.cs:28:10:28:11 | enter M4 | Assert.cs:30:20:30:20 | access to parameter b | 4 |
| Assert.cs:28:10:28:11 | exit M4 | Assert.cs:28:10:28:11 | exit M4 | 1 |
| Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:31:23:31:31 | ... == ... | 6 |
| Assert.cs:28:10:28:11 | exit M4 (abnormal) | Assert.cs:28:10:28:11 | exit M4 (abnormal) | 1 |
| Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:31:9:31:32 | call to method IsTrue | 7 |
| Assert.cs:30:24:30:27 | null | Assert.cs:30:24:30:27 | null | 1 |
| Assert.cs:30:31:30:32 | "" | Assert.cs:30:31:30:32 | "" | 1 |
| Assert.cs:31:9:31:32 | [assertion failure] call to method IsTrue | Assert.cs:28:10:28:11 | exit M4 (abnormal) | 2 |
| Assert.cs:31:9:31:32 | [assertion success] call to method IsTrue | Assert.cs:28:10:28:11 | exit M4 (normal) | 6 |
| Assert.cs:32:9:32:36 | ...; | Assert.cs:28:10:28:11 | exit M4 (normal) | 5 |
| Assert.cs:35:10:35:11 | enter M5 | Assert.cs:37:20:37:20 | access to parameter b | 4 |
| Assert.cs:35:10:35:11 | exit M5 | Assert.cs:35:10:35:11 | exit M5 | 1 |
| Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:38:23:38:31 | ... != ... | 6 |
| Assert.cs:35:10:35:11 | exit M5 (abnormal) | Assert.cs:35:10:35:11 | exit M5 (abnormal) | 1 |
| Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:38:9:38:32 | call to method IsTrue | 7 |
| Assert.cs:37:24:37:27 | null | Assert.cs:37:24:37:27 | null | 1 |
| Assert.cs:37:31:37:32 | "" | Assert.cs:37:31:37:32 | "" | 1 |
| Assert.cs:38:9:38:32 | [assertion failure] call to method IsTrue | Assert.cs:35:10:35:11 | exit M5 (abnormal) | 2 |
| Assert.cs:38:9:38:32 | [assertion success] call to method IsTrue | Assert.cs:35:10:35:11 | exit M5 (normal) | 6 |
| Assert.cs:39:9:39:36 | ...; | Assert.cs:35:10:35:11 | exit M5 (normal) | 5 |
| Assert.cs:42:10:42:11 | enter M6 | Assert.cs:44:20:44:20 | access to parameter b | 4 |
| Assert.cs:42:10:42:11 | exit M6 | Assert.cs:42:10:42:11 | exit M6 | 1 |
| Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:45:24:45:32 | ... != ... | 6 |
| Assert.cs:42:10:42:11 | exit M6 (abnormal) | Assert.cs:42:10:42:11 | exit M6 (abnormal) | 1 |
| Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:45:9:45:33 | call to method IsFalse | 7 |
| Assert.cs:44:24:44:27 | null | Assert.cs:44:24:44:27 | null | 1 |
| Assert.cs:44:31:44:32 | "" | Assert.cs:44:31:44:32 | "" | 1 |
| Assert.cs:45:9:45:33 | [assertion failure] call to method IsFalse | Assert.cs:42:10:42:11 | exit M6 (abnormal) | 2 |
| Assert.cs:45:9:45:33 | [assertion success] call to method IsFalse | Assert.cs:42:10:42:11 | exit M6 (normal) | 6 |
| Assert.cs:46:9:46:36 | ...; | Assert.cs:42:10:42:11 | exit M6 (normal) | 5 |
| Assert.cs:49:10:49:11 | enter M7 | Assert.cs:51:20:51:20 | access to parameter b | 4 |
| Assert.cs:49:10:49:11 | exit M7 | Assert.cs:49:10:49:11 | exit M7 | 1 |
| Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:52:24:52:32 | ... == ... | 6 |
| Assert.cs:49:10:49:11 | exit M7 (abnormal) | Assert.cs:49:10:49:11 | exit M7 (abnormal) | 1 |
| Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:52:9:52:33 | call to method IsFalse | 7 |
| Assert.cs:51:24:51:27 | null | Assert.cs:51:24:51:27 | null | 1 |
| Assert.cs:51:31:51:32 | "" | Assert.cs:51:31:51:32 | "" | 1 |
| Assert.cs:52:9:52:33 | [assertion failure] call to method IsFalse | Assert.cs:49:10:49:11 | exit M7 (abnormal) | 2 |
| Assert.cs:52:9:52:33 | [assertion success] call to method IsFalse | Assert.cs:49:10:49:11 | exit M7 (normal) | 6 |
| Assert.cs:53:9:53:36 | ...; | Assert.cs:49:10:49:11 | exit M7 (normal) | 5 |
| Assert.cs:56:10:56:11 | enter M8 | Assert.cs:58:20:58:20 | access to parameter b | 4 |
| Assert.cs:56:10:56:11 | exit M8 | Assert.cs:56:10:56:11 | exit M8 | 1 |
| Assert.cs:56:10:56:11 | exit M8 (abnormal) | Assert.cs:56:10:56:11 | exit M8 (abnormal) | 1 |
| Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:59:23:59:31 | ... != ... | 6 |
| Assert.cs:58:24:58:27 | null | Assert.cs:58:24:58:27 | null | 1 |
| Assert.cs:58:31:58:32 | "" | Assert.cs:58:31:58:32 | "" | 1 |
| Assert.cs:59:9:59:37 | [assertion failure] call to method IsTrue | Assert.cs:56:10:56:11 | exit M8 (abnormal) | 2 |
| Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | Assert.cs:56:10:56:11 | exit M8 (normal) | 6 |
| Assert.cs:59:23:59:36 | [false] ... && ... | Assert.cs:59:23:59:36 | [false] ... && ... | 1 |
| Assert.cs:59:23:59:36 | [true] ... && ... | Assert.cs:59:23:59:36 | [true] ... && ... | 1 |
| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:59:9:59:37 | call to method IsTrue | 2 |
| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:59:36:59:36 | access to parameter b | 1 |
| Assert.cs:60:9:60:36 | ...; | Assert.cs:56:10:56:11 | exit M8 (normal) | 5 |
| Assert.cs:63:10:63:11 | enter M9 | Assert.cs:65:20:65:20 | access to parameter b | 4 |
| Assert.cs:63:10:63:11 | exit M9 | Assert.cs:63:10:63:11 | exit M9 | 1 |
| Assert.cs:63:10:63:11 | exit M9 (abnormal) | Assert.cs:63:10:63:11 | exit M9 (abnormal) | 1 |
| Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:66:24:66:32 | ... == ... | 6 |
| Assert.cs:65:24:65:27 | null | Assert.cs:65:24:65:27 | null | 1 |
| Assert.cs:65:31:65:32 | "" | Assert.cs:65:31:65:32 | "" | 1 |
| Assert.cs:66:9:66:38 | [assertion failure] call to method IsFalse | Assert.cs:63:10:63:11 | exit M9 (abnormal) | 2 |
| Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | Assert.cs:63:10:63:11 | exit M9 (normal) | 6 |
| Assert.cs:66:24:66:37 | [false] ... \|\| ... | Assert.cs:66:24:66:37 | [false] ... \|\| ... | 1 |
| Assert.cs:66:24:66:37 | [true] ... \|\| ... | Assert.cs:66:24:66:37 | [true] ... \|\| ... | 1 |
| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:66:9:66:38 | call to method IsFalse | 2 |
| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:66:37:66:37 | access to parameter b | 1 |
| Assert.cs:67:9:67:36 | ...; | Assert.cs:63:10:63:11 | exit M9 (normal) | 5 |
| Assert.cs:70:10:70:12 | enter M10 | Assert.cs:72:20:72:20 | access to parameter b | 4 |
| Assert.cs:70:10:70:12 | exit M10 | Assert.cs:70:10:70:12 | exit M10 | 1 |
| Assert.cs:70:10:70:12 | exit M10 (abnormal) | Assert.cs:70:10:70:12 | exit M10 (abnormal) | 1 |
| Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:73:23:73:31 | ... == ... | 6 |
| Assert.cs:72:24:72:27 | null | Assert.cs:72:24:72:27 | null | 1 |
| Assert.cs:72:31:72:32 | "" | Assert.cs:72:31:72:32 | "" | 1 |
| Assert.cs:73:9:73:37 | [assertion failure] call to method IsTrue | Assert.cs:70:10:70:12 | exit M10 (abnormal) | 2 |
| Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | Assert.cs:70:10:70:12 | exit M10 (normal) | 6 |
| Assert.cs:73:23:73:36 | [false] ... && ... | Assert.cs:73:23:73:36 | [false] ... && ... | 1 |
| Assert.cs:73:23:73:36 | [true] ... && ... | Assert.cs:73:23:73:36 | [true] ... && ... | 1 |
| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:73:9:73:37 | call to method IsTrue | 2 |
| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:73:36:73:36 | access to parameter b | 1 |
| Assert.cs:74:9:74:36 | ...; | Assert.cs:70:10:70:12 | exit M10 (normal) | 5 |
| Assert.cs:77:10:77:12 | enter M11 | Assert.cs:79:20:79:20 | access to parameter b | 4 |
| Assert.cs:77:10:77:12 | exit M11 | Assert.cs:77:10:77:12 | exit M11 | 1 |
| Assert.cs:77:10:77:12 | exit M11 (abnormal) | Assert.cs:77:10:77:12 | exit M11 (abnormal) | 1 |
| Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:80:24:80:32 | ... != ... | 6 |
| Assert.cs:79:24:79:27 | null | Assert.cs:79:24:79:27 | null | 1 |
| Assert.cs:79:31:79:32 | "" | Assert.cs:79:31:79:32 | "" | 1 |
| Assert.cs:80:9:80:38 | [assertion failure] call to method IsFalse | Assert.cs:77:10:77:12 | exit M11 (abnormal) | 2 |
| Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | Assert.cs:77:10:77:12 | exit M11 (normal) | 6 |
| Assert.cs:80:24:80:37 | [false] ... \|\| ... | Assert.cs:80:24:80:37 | [false] ... \|\| ... | 1 |
| Assert.cs:80:24:80:37 | [true] ... \|\| ... | Assert.cs:80:24:80:37 | [true] ... \|\| ... | 1 |
| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:80:9:80:38 | call to method IsFalse | 2 |
| Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:80:37:80:37 | access to parameter b | 1 |
| Assert.cs:81:9:81:36 | ...; | Assert.cs:77:10:77:12 | exit M11 (normal) | 5 |
| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:86:20:86:20 | access to parameter b | 4 |
| Assert.cs:84:10:84:12 | exit M12 | Assert.cs:84:10:84:12 | exit M12 | 1 |
| Assert.cs:84:10:84:12 | exit M12 (abnormal) | Assert.cs:84:10:84:12 | exit M12 (abnormal) | 1 |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:87:22:87:30 | ... != ... | 6 |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:87:9:87:31 | call to method Assert | 7 |
| Assert.cs:86:24:86:27 | null | Assert.cs:86:24:86:27 | null | 1 |
| Assert.cs:86:31:86:32 | "" | Assert.cs:86:31:86:32 | "" | 1 |
| Assert.cs:87:9:87:31 | [assertion failure] call to method Assert | Assert.cs:87:9:87:31 | [assertion failure] call to method Assert | 1 |
| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:90:13:90:13 | access to parameter b | 7 |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:91:23:91:23 | access to local variable s | 4 |
| Assert.cs:88:9:88:36 | ...; | Assert.cs:90:13:90:13 | access to parameter b | 6 |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:91:9:91:24 | call to method IsNull | 5 |
| Assert.cs:90:17:90:20 | null | Assert.cs:90:17:90:20 | null | 1 |
| Assert.cs:90:24:90:25 | "" | Assert.cs:90:24:90:25 | "" | 1 |
| Assert.cs:91:9:91:24 | [assertion failure] call to method IsNull | Assert.cs:91:9:91:24 | [assertion failure] call to method IsNull | 1 |
| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:94:13:94:13 | access to parameter b | 7 |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:95:26:95:26 | access to local variable s | 4 |
| Assert.cs:92:9:92:36 | ...; | Assert.cs:94:13:94:13 | access to parameter b | 6 |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:95:9:95:27 | call to method IsNotNull | 5 |
| Assert.cs:94:17:94:20 | null | Assert.cs:94:17:94:20 | null | 1 |
| Assert.cs:94:24:94:25 | "" | Assert.cs:94:24:94:25 | "" | 1 |
| Assert.cs:95:9:95:27 | [assertion failure] call to method IsNotNull | Assert.cs:95:9:95:27 | [assertion failure] call to method IsNotNull | 1 |
| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:98:13:98:13 | access to parameter b | 7 |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:99:23:99:31 | ... == ... | 6 |
| Assert.cs:96:9:96:36 | ...; | Assert.cs:98:13:98:13 | access to parameter b | 6 |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:99:9:99:32 | call to method IsTrue | 7 |
| Assert.cs:98:17:98:20 | null | Assert.cs:98:17:98:20 | null | 1 |
| Assert.cs:98:24:98:25 | "" | Assert.cs:98:24:98:25 | "" | 1 |
| Assert.cs:99:9:99:32 | [assertion failure] call to method IsTrue | Assert.cs:99:9:99:32 | [assertion failure] call to method IsTrue | 1 |
| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:102:13:102:13 | access to parameter b | 7 |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:103:23:103:31 | ... != ... | 6 |
| Assert.cs:100:9:100:36 | ...; | Assert.cs:102:13:102:13 | access to parameter b | 6 |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:103:9:103:32 | call to method IsTrue | 7 |
| Assert.cs:102:17:102:20 | null | Assert.cs:102:17:102:20 | null | 1 |
| Assert.cs:102:24:102:25 | "" | Assert.cs:102:24:102:25 | "" | 1 |
| Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | 1 |
| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:106:13:106:13 | access to parameter b | 7 |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:107:24:107:32 | ... != ... | 6 |
| Assert.cs:104:9:104:36 | ...; | Assert.cs:106:13:106:13 | access to parameter b | 6 |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | call to method IsFalse | 7 |
| Assert.cs:106:17:106:20 | null | Assert.cs:106:17:106:20 | null | 1 |
| Assert.cs:106:24:106:25 | "" | Assert.cs:106:24:106:25 | "" | 1 |
| Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | 1 |
| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:110:13:110:13 | access to parameter b | 7 |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:111:24:111:32 | ... == ... | 6 |
| Assert.cs:108:9:108:36 | ...; | Assert.cs:110:13:110:13 | access to parameter b | 6 |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | call to method IsFalse | 7 |
| Assert.cs:110:17:110:20 | null | Assert.cs:110:17:110:20 | null | 1 |
| Assert.cs:110:24:110:25 | "" | Assert.cs:110:24:110:25 | "" | 1 |
| Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | 1 |
| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:114:13:114:13 | access to parameter b | 7 |
| Assert.cs:112:9:112:36 | ...; | Assert.cs:114:13:114:13 | access to parameter b | 6 |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:115:23:115:31 | ... != ... | 6 |
| Assert.cs:114:17:114:20 | null | Assert.cs:114:17:114:20 | null | 1 |
| Assert.cs:114:24:114:25 | "" | Assert.cs:114:24:114:25 | "" | 1 |
| Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | 1 |
| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:118:13:118:13 | access to parameter b | 7 |
| Assert.cs:115:23:115:36 | [false] ... && ... | Assert.cs:115:23:115:36 | [false] ... && ... | 1 |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:115:23:115:36 | [true] ... && ... | 1 |
| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:115:9:115:37 | call to method IsTrue | 2 |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:115:36:115:36 | access to parameter b | 1 |
| Assert.cs:116:9:116:36 | ...; | Assert.cs:118:13:118:13 | access to parameter b | 6 |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:119:24:119:32 | ... == ... | 6 |
| Assert.cs:118:17:118:20 | null | Assert.cs:118:17:118:20 | null | 1 |
| Assert.cs:118:24:118:25 | "" | Assert.cs:118:24:118:25 | "" | 1 |
| Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | 1 |
| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:122:13:122:13 | access to parameter b | 7 |
| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | 1 |
| Assert.cs:119:24:119:38 | [true] ... \|\| ... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | 1 |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:119:37:119:38 | [false] !... | 1 |
| Assert.cs:119:37:119:38 | [true] !... | Assert.cs:119:37:119:38 | [true] !... | 1 |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:38:119:38 | access to parameter b | 1 |
| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:119:9:119:39 | call to method IsFalse | 2 |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:37:119:38 | !... | 2 |
| Assert.cs:120:9:120:36 | ...; | Assert.cs:122:13:122:13 | access to parameter b | 6 |
| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:123:23:123:31 | ... == ... | 6 |
| Assert.cs:122:17:122:20 | null | Assert.cs:122:17:122:20 | null | 1 |
| Assert.cs:122:24:122:25 | "" | Assert.cs:122:24:122:25 | "" | 1 |
| Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | 1 |
| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:126:13:126:13 | access to parameter b | 7 |
| Assert.cs:123:23:123:36 | [false] ... && ... | Assert.cs:123:23:123:36 | [false] ... && ... | 1 |
| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:123:23:123:36 | [true] ... && ... | 1 |
| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:123:9:123:37 | call to method IsTrue | 2 |
| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:123:36:123:36 | access to parameter b | 1 |
| Assert.cs:124:9:124:36 | ...; | Assert.cs:126:13:126:13 | access to parameter b | 6 |
| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:127:24:127:32 | ... != ... | 6 |
| Assert.cs:126:17:126:20 | null | Assert.cs:126:17:126:20 | null | 1 |
| Assert.cs:126:24:126:25 | "" | Assert.cs:126:24:126:25 | "" | 1 |
| Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | 1 |
| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:84:10:84:12 | exit M12 (normal) | 6 |
| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | 1 |
| Assert.cs:127:24:127:38 | [true] ... \|\| ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | 1 |
| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:127:37:127:38 | [false] !... | 1 |
| Assert.cs:127:37:127:38 | [true] !... | Assert.cs:127:37:127:38 | [true] !... | 1 |
| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:38:127:38 | access to parameter b | 1 |
| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:127:9:127:39 | call to method IsFalse | 2 |
| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:37:127:38 | !... | 2 |
| Assert.cs:128:9:128:36 | ...; | Assert.cs:84:10:84:12 | exit M12 (normal) | 5 |
| Assert.cs:131:18:131:32 | enter AssertTrueFalse | Assert.cs:131:18:131:32 | exit AssertTrueFalse | 4 |
| Assert.cs:138:10:138:12 | enter M13 | Assert.cs:140:25:140:26 | access to parameter b1 | 5 |
| Assert.cs:138:10:138:12 | enter M13 | Assert.cs:140:9:140:35 | call to method AssertTrueFalse | 8 |
| Assert.cs:138:10:138:12 | exit M13 | Assert.cs:138:10:138:12 | exit M13 | 1 |
| Assert.cs:138:10:138:12 | exit M13 (abnormal) | Assert.cs:138:10:138:12 | exit M13 (abnormal) | 1 |
| Assert.cs:140:29:140:30 | [assertion failure] access to parameter b2 | Assert.cs:140:29:140:30 | [assertion failure] access to parameter b2 | 1 |
| Assert.cs:140:29:140:30 | access to parameter b2 | Assert.cs:140:29:140:30 | access to parameter b2 | 1 |
| Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | Assert.cs:140:9:140:35 | [assertion failure] call to method AssertTrueFalse | 2 |
| Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | Assert.cs:140:9:140:35 | [assertion failure] call to method AssertTrueFalse | 2 |
| Assert.cs:140:33:140:34 | [assertion success] access to parameter b3 | Assert.cs:138:10:138:12 | exit M13 (normal) | 4 |
| Assert.cs:141:9:141:15 | return ...; | Assert.cs:138:10:138:12 | exit M13 (normal) | 2 |
| Assignments.cs:1:7:1:17 | enter Assignments | Assignments.cs:1:7:1:17 | exit Assignments | 5 |
| Assignments.cs:3:10:3:10 | enter M | Assignments.cs:3:10:3:10 | exit M | 34 |
| Assignments.cs:14:18:14:35 | enter (...) => ... | Assignments.cs:14:18:14:35 | exit (...) => ... | 4 |
@@ -395,15 +368,13 @@
| ExitMethods.cs:117:16:117:38 | ... ? ... : ... | ExitMethods.cs:115:16:115:34 | exit ExtensionMethodCall | 4 |
| ExitMethods.cs:117:34:117:34 | 0 | ExitMethods.cs:117:34:117:34 | 0 | 1 |
| ExitMethods.cs:117:38:117:38 | 1 | ExitMethods.cs:117:38:117:38 | 1 | 1 |
| ExitMethods.cs:120:17:120:32 | enter FailingAssertion | ExitMethods.cs:122:23:122:27 | false | 4 |
| ExitMethods.cs:122:9:122:28 | [assertion failure] call to method IsTrue | ExitMethods.cs:120:17:120:32 | exit FailingAssertion | 3 |
| ExitMethods.cs:120:17:120:32 | enter FailingAssertion | ExitMethods.cs:120:17:120:32 | exit FailingAssertion | 7 |
| ExitMethods.cs:126:17:126:33 | enter FailingAssertion2 | ExitMethods.cs:126:17:126:33 | exit FailingAssertion2 | 7 |
| ExitMethods.cs:132:10:132:20 | enter AssertFalse | ExitMethods.cs:132:48:132:48 | access to parameter b | 2 |
| ExitMethods.cs:132:10:132:20 | enter AssertFalse | ExitMethods.cs:132:33:132:49 | call to method IsFalse | 3 |
| ExitMethods.cs:132:10:132:20 | exit AssertFalse | ExitMethods.cs:132:10:132:20 | exit AssertFalse | 1 |
| ExitMethods.cs:132:33:132:49 | [assertion failure] call to method IsFalse | ExitMethods.cs:132:10:132:20 | exit AssertFalse (abnormal) | 2 |
| ExitMethods.cs:132:33:132:49 | [assertion success] call to method IsFalse | ExitMethods.cs:132:10:132:20 | exit AssertFalse (normal) | 2 |
| ExitMethods.cs:134:17:134:33 | enter FailingAssertion3 | ExitMethods.cs:136:21:136:24 | true | 5 |
| ExitMethods.cs:136:9:136:25 | [assertion failure] call to method AssertFalse | ExitMethods.cs:134:17:134:33 | exit FailingAssertion3 | 3 |
| ExitMethods.cs:132:10:132:20 | exit AssertFalse (abnormal) | ExitMethods.cs:132:10:132:20 | exit AssertFalse (abnormal) | 1 |
| ExitMethods.cs:132:10:132:20 | exit AssertFalse (normal) | ExitMethods.cs:132:10:132:20 | exit AssertFalse (normal) | 1 |
| ExitMethods.cs:134:17:134:33 | enter FailingAssertion3 | ExitMethods.cs:134:17:134:33 | exit FailingAssertion3 | 8 |
| ExitMethods.cs:140:17:140:42 | enter ExceptionDispatchInfoThrow | ExitMethods.cs:142:13:142:13 | access to parameter b | 4 |
| ExitMethods.cs:140:17:140:42 | exit ExceptionDispatchInfoThrow (abnormal) | ExitMethods.cs:140:17:140:42 | exit ExceptionDispatchInfoThrow | 2 |
| ExitMethods.cs:143:13:143:43 | ...; | ExitMethods.cs:143:13:143:42 | call to method Throw | 3 |

View File

@@ -1,696 +1,56 @@
conditionBlock
| Assert.cs:7:10:7:11 | enter M1 | Assert.cs:9:24:9:27 | null | true |
| Assert.cs:7:10:7:11 | enter M1 | Assert.cs:9:31:9:32 | "" | false |
| Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:10:9:10:31 | [assertion failure] call to method Assert | false |
| Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:10:9:10:31 | [assertion success] call to method Assert | true |
| Assert.cs:14:10:14:11 | enter M2 | Assert.cs:16:24:16:27 | null | true |
| Assert.cs:14:10:14:11 | enter M2 | Assert.cs:16:31:16:32 | "" | false |
| Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:17:9:17:24 | [assertion failure] call to method IsNull | false |
| Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:17:9:17:24 | [assertion success] call to method IsNull | true |
| Assert.cs:21:10:21:11 | enter M3 | Assert.cs:23:24:23:27 | null | true |
| Assert.cs:21:10:21:11 | enter M3 | Assert.cs:23:31:23:32 | "" | false |
| Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:24:9:24:27 | [assertion failure] call to method IsNotNull | true |
| Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:24:9:24:27 | [assertion success] call to method IsNotNull | false |
| Assert.cs:28:10:28:11 | enter M4 | Assert.cs:30:24:30:27 | null | true |
| Assert.cs:28:10:28:11 | enter M4 | Assert.cs:30:31:30:32 | "" | false |
| Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:31:9:31:32 | [assertion failure] call to method IsTrue | false |
| Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:31:9:31:32 | [assertion success] call to method IsTrue | true |
| Assert.cs:35:10:35:11 | enter M5 | Assert.cs:37:24:37:27 | null | true |
| Assert.cs:35:10:35:11 | enter M5 | Assert.cs:37:31:37:32 | "" | false |
| Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:38:9:38:32 | [assertion failure] call to method IsTrue | false |
| Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:38:9:38:32 | [assertion success] call to method IsTrue | true |
| Assert.cs:42:10:42:11 | enter M6 | Assert.cs:44:24:44:27 | null | true |
| Assert.cs:42:10:42:11 | enter M6 | Assert.cs:44:31:44:32 | "" | false |
| Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:45:9:45:33 | [assertion failure] call to method IsFalse | true |
| Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:45:9:45:33 | [assertion success] call to method IsFalse | false |
| Assert.cs:49:10:49:11 | enter M7 | Assert.cs:51:24:51:27 | null | true |
| Assert.cs:49:10:49:11 | enter M7 | Assert.cs:51:31:51:32 | "" | false |
| Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:52:9:52:33 | [assertion failure] call to method IsFalse | true |
| Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:52:9:52:33 | [assertion success] call to method IsFalse | false |
| Assert.cs:56:10:56:11 | enter M8 | Assert.cs:58:24:58:27 | null | true |
| Assert.cs:56:10:56:11 | enter M8 | Assert.cs:58:31:58:32 | "" | false |
| Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:59:23:59:36 | [true] ... && ... | true |
| Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:59:36:59:36 | access to parameter b | true |
| Assert.cs:59:23:59:36 | [false] ... && ... | Assert.cs:59:9:59:37 | [assertion failure] call to method IsTrue | false |
| Assert.cs:59:23:59:36 | [true] ... && ... | Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:59:23:59:36 | [true] ... && ... | true |
| Assert.cs:63:10:63:11 | enter M9 | Assert.cs:65:24:65:27 | null | true |
| Assert.cs:63:10:63:11 | enter M9 | Assert.cs:65:31:65:32 | "" | false |
| Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | false |
| Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:66:24:66:37 | [false] ... \|\| ... | false |
| Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:66:37:66:37 | access to parameter b | false |
| Assert.cs:66:24:66:37 | [false] ... \|\| ... | Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | false |
| Assert.cs:66:24:66:37 | [true] ... \|\| ... | Assert.cs:66:9:66:38 | [assertion failure] call to method IsFalse | true |
| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | false |
| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:66:24:66:37 | [false] ... \|\| ... | false |
| Assert.cs:70:10:70:12 | enter M10 | Assert.cs:72:24:72:27 | null | true |
| Assert.cs:70:10:70:12 | enter M10 | Assert.cs:72:31:72:32 | "" | false |
| Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:73:23:73:36 | [true] ... && ... | true |
| Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:73:36:73:36 | access to parameter b | true |
| Assert.cs:73:23:73:36 | [false] ... && ... | Assert.cs:73:9:73:37 | [assertion failure] call to method IsTrue | false |
| Assert.cs:73:23:73:36 | [true] ... && ... | Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:73:23:73:36 | [true] ... && ... | true |
| Assert.cs:77:10:77:12 | enter M11 | Assert.cs:79:24:79:27 | null | true |
| Assert.cs:77:10:77:12 | enter M11 | Assert.cs:79:31:79:32 | "" | false |
| Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | false |
| Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:80:24:80:37 | [false] ... \|\| ... | false |
| Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:80:37:80:37 | access to parameter b | false |
| Assert.cs:80:24:80:37 | [false] ... \|\| ... | Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | false |
| Assert.cs:80:24:80:37 | [true] ... \|\| ... | Assert.cs:80:9:80:38 | [assertion failure] call to method IsFalse | true |
| Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | false |
| Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:80:24:80:37 | [false] ... \|\| ... | false |
| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:86:24:86:27 | null | true |
| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:86:31:86:32 | "" | false |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:87:9:87:31 | [assertion failure] call to method Assert | false |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:90:13:90:25 | ... ? ... : ... | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:90:17:90:20 | null | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:90:24:90:25 | "" | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:91:9:91:24 | [assertion failure] call to method IsNull | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:94:13:94:25 | ... ? ... : ... | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:94:17:94:20 | null | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:94:24:94:25 | "" | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:95:9:95:27 | [assertion failure] call to method IsNotNull | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:98:13:98:25 | ... ? ... : ... | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:98:17:98:20 | null | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:98:24:98:25 | "" | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:99:9:99:32 | [assertion failure] call to method IsTrue | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:102:13:102:25 | ... ? ... : ... | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:102:17:102:20 | null | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:102:24:102:25 | "" | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:106:13:106:25 | ... ? ... : ... | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:106:17:106:20 | null | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:106:24:106:25 | "" | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:110:13:110:25 | ... ? ... : ... | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:110:17:110:20 | null | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:110:24:110:25 | "" | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:114:13:114:25 | ... ? ... : ... | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:114:17:114:20 | null | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:114:24:114:25 | "" | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:115:23:115:36 | [false] ... && ... | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:115:23:115:36 | [true] ... && ... | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:115:36:115:36 | access to parameter b | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:118:13:118:25 | ... ? ... : ... | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:118:17:118:20 | null | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:118:24:118:25 | "" | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:119:37:119:38 | [false] !... | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:119:37:119:38 | [true] !... | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:119:38:119:38 | access to parameter b | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:122:13:122:25 | ... ? ... : ... | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:122:17:122:20 | null | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:122:24:122:25 | "" | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:123:23:123:36 | [false] ... && ... | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:123:23:123:36 | [true] ... && ... | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:123:36:123:36 | access to parameter b | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:126:13:126:25 | ... ? ... : ... | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:126:17:126:20 | null | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:126:24:126:25 | "" | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:127:37:127:38 | [false] !... | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:127:37:127:38 | [true] !... | true |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:127:38:127:38 | access to parameter b | true |
| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:90:17:90:20 | null | true |
| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:90:24:90:25 | "" | false |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:91:9:91:24 | [assertion failure] call to method IsNull | false |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:94:13:94:25 | ... ? ... : ... | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:94:17:94:20 | null | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:94:24:94:25 | "" | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:95:9:95:27 | [assertion failure] call to method IsNotNull | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:98:13:98:25 | ... ? ... : ... | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:98:17:98:20 | null | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:98:24:98:25 | "" | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:99:9:99:32 | [assertion failure] call to method IsTrue | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:102:13:102:25 | ... ? ... : ... | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:102:17:102:20 | null | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:102:24:102:25 | "" | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:106:13:106:25 | ... ? ... : ... | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:106:17:106:20 | null | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:106:24:106:25 | "" | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:110:13:110:25 | ... ? ... : ... | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:110:17:110:20 | null | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:110:24:110:25 | "" | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:114:13:114:25 | ... ? ... : ... | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:114:17:114:20 | null | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:114:24:114:25 | "" | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [false] ... && ... | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [true] ... && ... | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:115:36:115:36 | access to parameter b | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:118:13:118:25 | ... ? ... : ... | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:118:17:118:20 | null | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:118:24:118:25 | "" | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [false] !... | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [true] !... | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:119:38:119:38 | access to parameter b | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:122:13:122:25 | ... ? ... : ... | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:122:17:122:20 | null | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:122:24:122:25 | "" | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [false] ... && ... | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [true] ... && ... | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:123:36:123:36 | access to parameter b | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:126:13:126:25 | ... ? ... : ... | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:126:17:126:20 | null | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:126:24:126:25 | "" | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [false] !... | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [true] !... | true |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:127:38:127:38 | access to parameter b | true |
| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:94:17:94:20 | null | true |
| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:94:24:94:25 | "" | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:95:9:95:27 | [assertion failure] call to method IsNotNull | true |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:98:13:98:25 | ... ? ... : ... | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:98:17:98:20 | null | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:98:24:98:25 | "" | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:99:9:99:32 | [assertion failure] call to method IsTrue | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:102:13:102:25 | ... ? ... : ... | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:102:17:102:20 | null | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:102:24:102:25 | "" | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:106:13:106:25 | ... ? ... : ... | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:106:17:106:20 | null | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:106:24:106:25 | "" | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:110:13:110:25 | ... ? ... : ... | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:110:17:110:20 | null | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:110:24:110:25 | "" | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:114:13:114:25 | ... ? ... : ... | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:114:17:114:20 | null | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:114:24:114:25 | "" | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [false] ... && ... | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [true] ... && ... | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:115:36:115:36 | access to parameter b | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:118:13:118:25 | ... ? ... : ... | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:118:17:118:20 | null | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:118:24:118:25 | "" | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [false] !... | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [true] !... | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:119:38:119:38 | access to parameter b | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:122:13:122:25 | ... ? ... : ... | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:122:17:122:20 | null | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:122:24:122:25 | "" | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [false] ... && ... | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [true] ... && ... | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:123:36:123:36 | access to parameter b | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:126:13:126:25 | ... ? ... : ... | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:126:17:126:20 | null | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:126:24:126:25 | "" | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [false] !... | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [true] !... | false |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:127:38:127:38 | access to parameter b | false |
| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:98:17:98:20 | null | true |
| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:98:24:98:25 | "" | false |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:99:9:99:32 | [assertion failure] call to method IsTrue | false |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:102:13:102:25 | ... ? ... : ... | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:102:17:102:20 | null | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:102:24:102:25 | "" | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:106:13:106:25 | ... ? ... : ... | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:106:17:106:20 | null | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:106:24:106:25 | "" | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:110:13:110:25 | ... ? ... : ... | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:110:17:110:20 | null | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:110:24:110:25 | "" | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:114:13:114:25 | ... ? ... : ... | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:114:17:114:20 | null | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:114:24:114:25 | "" | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [false] ... && ... | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [true] ... && ... | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:115:36:115:36 | access to parameter b | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:118:13:118:25 | ... ? ... : ... | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:118:17:118:20 | null | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:118:24:118:25 | "" | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [false] !... | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [true] !... | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:119:38:119:38 | access to parameter b | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:122:13:122:25 | ... ? ... : ... | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:122:17:122:20 | null | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:122:24:122:25 | "" | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [false] ... && ... | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [true] ... && ... | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:123:36:123:36 | access to parameter b | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:126:13:126:25 | ... ? ... : ... | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:126:17:126:20 | null | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:126:24:126:25 | "" | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [false] !... | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [true] !... | true |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:127:38:127:38 | access to parameter b | true |
| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:102:17:102:20 | null | true |
| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:102:24:102:25 | "" | false |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | false |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:106:13:106:25 | ... ? ... : ... | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:106:17:106:20 | null | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:106:24:106:25 | "" | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:110:13:110:25 | ... ? ... : ... | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:110:17:110:20 | null | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:110:24:110:25 | "" | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:114:13:114:25 | ... ? ... : ... | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:114:17:114:20 | null | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:114:24:114:25 | "" | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [false] ... && ... | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [true] ... && ... | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:115:36:115:36 | access to parameter b | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:118:13:118:25 | ... ? ... : ... | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:118:17:118:20 | null | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:118:24:118:25 | "" | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [false] !... | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [true] !... | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:119:38:119:38 | access to parameter b | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:122:13:122:25 | ... ? ... : ... | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:122:17:122:20 | null | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:122:24:122:25 | "" | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [false] ... && ... | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [true] ... && ... | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:123:36:123:36 | access to parameter b | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:126:13:126:25 | ... ? ... : ... | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:126:17:126:20 | null | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:126:24:126:25 | "" | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [false] !... | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [true] !... | true |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:127:38:127:38 | access to parameter b | true |
| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:106:17:106:20 | null | true |
| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:106:24:106:25 | "" | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | true |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:110:13:110:25 | ... ? ... : ... | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:110:17:110:20 | null | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:110:24:110:25 | "" | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:114:13:114:25 | ... ? ... : ... | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:114:17:114:20 | null | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:114:24:114:25 | "" | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [false] ... && ... | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [true] ... && ... | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:115:36:115:36 | access to parameter b | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:118:13:118:25 | ... ? ... : ... | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:118:17:118:20 | null | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:118:24:118:25 | "" | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [false] !... | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [true] !... | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:119:38:119:38 | access to parameter b | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:122:13:122:25 | ... ? ... : ... | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:122:17:122:20 | null | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:122:24:122:25 | "" | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [false] ... && ... | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [true] ... && ... | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:123:36:123:36 | access to parameter b | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:126:13:126:25 | ... ? ... : ... | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:126:17:126:20 | null | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:126:24:126:25 | "" | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [false] !... | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [true] !... | false |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:127:38:127:38 | access to parameter b | false |
| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:110:17:110:20 | null | true |
| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:110:24:110:25 | "" | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | true |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:114:13:114:25 | ... ? ... : ... | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:114:17:114:20 | null | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:114:24:114:25 | "" | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [false] ... && ... | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [true] ... && ... | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:115:36:115:36 | access to parameter b | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:118:13:118:25 | ... ? ... : ... | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:118:17:118:20 | null | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:118:24:118:25 | "" | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [false] !... | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [true] !... | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:119:38:119:38 | access to parameter b | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:122:13:122:25 | ... ? ... : ... | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:122:17:122:20 | null | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:122:24:122:25 | "" | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [false] ... && ... | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [true] ... && ... | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:123:36:123:36 | access to parameter b | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:126:13:126:25 | ... ? ... : ... | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:126:17:126:20 | null | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:126:24:126:25 | "" | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [false] !... | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [true] !... | false |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:127:38:127:38 | access to parameter b | false |
| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:114:17:114:20 | null | true |
| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:114:24:114:25 | "" | false |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [true] ... && ... | true |
| Assert.cs:88:9:88:36 | ...; | Assert.cs:90:17:90:20 | null | true |
| Assert.cs:88:9:88:36 | ...; | Assert.cs:90:24:90:25 | "" | false |
| Assert.cs:92:9:92:36 | ...; | Assert.cs:94:17:94:20 | null | true |
| Assert.cs:92:9:92:36 | ...; | Assert.cs:94:24:94:25 | "" | false |
| Assert.cs:96:9:96:36 | ...; | Assert.cs:98:17:98:20 | null | true |
| Assert.cs:96:9:96:36 | ...; | Assert.cs:98:24:98:25 | "" | false |
| Assert.cs:100:9:100:36 | ...; | Assert.cs:102:17:102:20 | null | true |
| Assert.cs:100:9:100:36 | ...; | Assert.cs:102:24:102:25 | "" | false |
| Assert.cs:104:9:104:36 | ...; | Assert.cs:106:17:106:20 | null | true |
| Assert.cs:104:9:104:36 | ...; | Assert.cs:106:24:106:25 | "" | false |
| Assert.cs:108:9:108:36 | ...; | Assert.cs:110:17:110:20 | null | true |
| Assert.cs:108:9:108:36 | ...; | Assert.cs:110:24:110:25 | "" | false |
| Assert.cs:112:9:112:36 | ...; | Assert.cs:114:17:114:20 | null | true |
| Assert.cs:112:9:112:36 | ...; | Assert.cs:114:24:114:25 | "" | false |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:115:36:115:36 | access to parameter b | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:118:13:118:25 | ... ? ... : ... | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:118:17:118:20 | null | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:118:24:118:25 | "" | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [false] !... | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [true] !... | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:119:38:119:38 | access to parameter b | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:122:13:122:25 | ... ? ... : ... | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:122:17:122:20 | null | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:122:24:122:25 | "" | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [false] ... && ... | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [true] ... && ... | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:123:36:123:36 | access to parameter b | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:126:13:126:25 | ... ? ... : ... | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:126:17:126:20 | null | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:126:24:126:25 | "" | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [false] !... | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [true] !... | true |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:127:38:127:38 | access to parameter b | true |
| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:118:17:118:20 | null | true |
| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:118:24:118:25 | "" | false |
| Assert.cs:115:23:115:36 | [false] ... && ... | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | false |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:118:13:118:25 | ... ? ... : ... | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:118:17:118:20 | null | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:118:24:118:25 | "" | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:119:37:119:38 | [false] !... | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:119:37:119:38 | [true] !... | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:119:38:119:38 | access to parameter b | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:122:13:122:25 | ... ? ... : ... | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:122:17:122:20 | null | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:122:24:122:25 | "" | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:123:23:123:36 | [false] ... && ... | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:123:23:123:36 | [true] ... && ... | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:123:36:123:36 | access to parameter b | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:126:13:126:25 | ... ? ... : ... | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:126:17:126:20 | null | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:126:24:126:25 | "" | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:127:37:127:38 | [false] !... | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:127:37:127:38 | [true] !... | true |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:127:38:127:38 | access to parameter b | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:115:23:115:36 | [true] ... && ... | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:118:13:118:25 | ... ? ... : ... | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:118:17:118:20 | null | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:118:24:118:25 | "" | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:119:24:119:38 | [false] ... \|\| ... | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:119:24:119:38 | [true] ... \|\| ... | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:119:37:119:38 | [false] !... | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:119:37:119:38 | [true] !... | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:119:38:119:38 | access to parameter b | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:122:13:122:25 | ... ? ... : ... | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:122:17:122:20 | null | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:122:24:122:25 | "" | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:123:23:123:36 | [false] ... && ... | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:123:23:123:36 | [true] ... && ... | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:123:36:123:36 | access to parameter b | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:126:13:126:25 | ... ? ... : ... | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:126:17:126:20 | null | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:126:24:126:25 | "" | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:127:24:127:38 | [false] ... \|\| ... | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:127:24:127:38 | [true] ... \|\| ... | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:127:37:127:38 | [false] !... | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:127:37:127:38 | [true] !... | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:127:38:127:38 | access to parameter b | true |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | false |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | false |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [false] !... | false |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [true] !... | false |
| Assert.cs:116:9:116:36 | ...; | Assert.cs:118:17:118:20 | null | true |
| Assert.cs:116:9:116:36 | ...; | Assert.cs:118:24:118:25 | "" | false |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:119:38:119:38 | access to parameter b | false |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:122:13:122:25 | ... ? ... : ... | false |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:122:17:122:20 | null | false |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:122:24:122:25 | "" | false |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | false |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | false |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [false] ... && ... | false |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [true] ... && ... | false |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:123:36:123:36 | access to parameter b | false |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:126:13:126:25 | ... ? ... : ... | false |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:126:17:126:20 | null | false |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:126:24:126:25 | "" | false |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | false |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | false |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | false |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | false |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [false] !... | false |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [true] !... | false |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:127:38:127:38 | access to parameter b | false |
| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:122:17:122:20 | null | true |
| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:122:24:122:25 | "" | false |
| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | false |
| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:122:13:122:25 | ... ? ... : ... | false |
| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:122:17:122:20 | null | false |
| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:122:24:122:25 | "" | false |
| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | false |
| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | false |
| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:123:23:123:36 | [false] ... && ... | false |
| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:123:23:123:36 | [true] ... && ... | false |
| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:123:36:123:36 | access to parameter b | false |
| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:126:13:126:25 | ... ? ... : ... | false |
| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:126:17:126:20 | null | false |
| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:126:24:126:25 | "" | false |
| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | false |
| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | false |
| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | false |
| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | false |
| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:127:37:127:38 | [false] !... | false |
| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:127:37:127:38 | [true] !... | false |
| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:127:38:127:38 | access to parameter b | false |
| Assert.cs:119:24:119:38 | [true] ... \|\| ... | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | true |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | false |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | false |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:122:13:122:25 | ... ? ... : ... | false |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:122:17:122:20 | null | false |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:122:24:122:25 | "" | false |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | false |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | false |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:123:23:123:36 | [false] ... && ... | false |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:123:23:123:36 | [true] ... && ... | false |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:123:36:123:36 | access to parameter b | false |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:126:13:126:25 | ... ? ... : ... | false |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:126:17:126:20 | null | false |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:126:24:126:25 | "" | false |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | false |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | false |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | false |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | false |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:127:37:127:38 | [false] !... | false |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:127:37:127:38 | [true] !... | false |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:127:38:127:38 | access to parameter b | false |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:24:119:38 | [false] ... \|\| ... | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:37:119:38 | [false] !... | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:37:119:38 | [true] !... | false |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:122:13:122:25 | ... ? ... : ... | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:122:17:122:20 | null | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:122:24:122:25 | "" | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:123:23:123:36 | [false] ... && ... | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:123:23:123:36 | [true] ... && ... | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:123:36:123:36 | access to parameter b | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:126:13:126:25 | ... ? ... : ... | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:126:17:126:20 | null | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:126:24:126:25 | "" | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:127:24:127:38 | [false] ... \|\| ... | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:127:24:127:38 | [true] ... \|\| ... | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:127:37:127:38 | [false] !... | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:127:37:127:38 | [true] !... | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:127:38:127:38 | access to parameter b | true |
| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [true] ... && ... | true |
| Assert.cs:120:9:120:36 | ...; | Assert.cs:122:17:122:20 | null | true |
| Assert.cs:120:9:120:36 | ...; | Assert.cs:122:24:122:25 | "" | false |
| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:123:36:123:36 | access to parameter b | true |
| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:126:13:126:25 | ... ? ... : ... | true |
| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:126:17:126:20 | null | true |
| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:126:24:126:25 | "" | true |
| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | true |
| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | true |
| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | true |
| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | true |
| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [false] !... | true |
| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [true] !... | true |
| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:127:38:127:38 | access to parameter b | true |
| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:126:17:126:20 | null | true |
| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:126:24:126:25 | "" | false |
| Assert.cs:123:23:123:36 | [false] ... && ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | false |
| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:126:13:126:25 | ... ? ... : ... | true |
| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:126:17:126:20 | null | true |
| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:126:24:126:25 | "" | true |
| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | true |
| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | true |
| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | true |
| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | true |
| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:127:37:127:38 | [false] !... | true |
| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:127:37:127:38 | [true] !... | true |
| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:127:38:127:38 | access to parameter b | true |
| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:123:23:123:36 | [true] ... && ... | true |
| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:126:13:126:25 | ... ? ... : ... | true |
| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:126:17:126:20 | null | true |
| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:126:24:126:25 | "" | true |
| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | true |
| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | true |
| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:127:24:127:38 | [false] ... \|\| ... | true |
| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:127:24:127:38 | [true] ... \|\| ... | true |
| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:127:37:127:38 | [false] !... | true |
| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:127:37:127:38 | [true] !... | true |
| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:127:38:127:38 | access to parameter b | true |
| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | false |
| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | false |
| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [false] !... | false |
| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [true] !... | false |
| Assert.cs:124:9:124:36 | ...; | Assert.cs:126:17:126:20 | null | true |
| Assert.cs:124:9:124:36 | ...; | Assert.cs:126:24:126:25 | "" | false |
| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:127:38:127:38 | access to parameter b | false |
| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | false |
| Assert.cs:127:24:127:38 | [true] ... \|\| ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | true |
| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | false |
| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | false |
| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | true |
| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:24:127:38 | [false] ... \|\| ... | true |
| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:37:127:38 | [false] !... | true |
| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:37:127:38 | [true] !... | false |
| Assert.cs:138:10:138:12 | enter M13 | Assert.cs:140:29:140:30 | [assertion failure] access to parameter b2 | false |
| Assert.cs:138:10:138:12 | enter M13 | Assert.cs:140:29:140:30 | access to parameter b2 | true |
| Assert.cs:138:10:138:12 | enter M13 | Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | false |
| Assert.cs:138:10:138:12 | enter M13 | Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | true |
| Assert.cs:138:10:138:12 | enter M13 | Assert.cs:140:33:140:34 | [assertion success] access to parameter b3 | true |
| Assert.cs:140:29:140:30 | [assertion failure] access to parameter b2 | Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | false |
| Assert.cs:140:29:140:30 | [assertion failure] access to parameter b2 | Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | true |
| Assert.cs:140:29:140:30 | access to parameter b2 | Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | true |
| Assert.cs:140:29:140:30 | access to parameter b2 | Assert.cs:140:33:140:34 | [assertion success] access to parameter b3 | false |
| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:7:26:7:28 | String arg | false |
| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:10:21:10:26 | break; | false |
| BreakInTry.cs:7:26:7:28 | String arg | BreakInTry.cs:10:21:10:26 | break; | true |
@@ -827,10 +187,6 @@ conditionBlock
| ExitMethods.cs:110:13:110:21 | enter ThrowExpr | ExitMethods.cs:112:69:112:75 | "input" | false |
| ExitMethods.cs:115:16:115:34 | enter ExtensionMethodCall | ExitMethods.cs:117:34:117:34 | 0 | true |
| ExitMethods.cs:115:16:115:34 | enter ExtensionMethodCall | ExitMethods.cs:117:38:117:38 | 1 | false |
| ExitMethods.cs:120:17:120:32 | enter FailingAssertion | ExitMethods.cs:122:9:122:28 | [assertion failure] call to method IsTrue | false |
| ExitMethods.cs:132:10:132:20 | enter AssertFalse | ExitMethods.cs:132:33:132:49 | [assertion failure] call to method IsFalse | true |
| ExitMethods.cs:132:10:132:20 | enter AssertFalse | ExitMethods.cs:132:33:132:49 | [assertion success] call to method IsFalse | false |
| ExitMethods.cs:134:17:134:33 | enter FailingAssertion3 | ExitMethods.cs:136:9:136:25 | [assertion failure] call to method AssertFalse | true |
| ExitMethods.cs:140:17:140:42 | enter ExceptionDispatchInfoThrow | ExitMethods.cs:143:13:143:43 | ...; | true |
| ExitMethods.cs:140:17:140:42 | enter ExceptionDispatchInfoThrow | ExitMethods.cs:145:13:145:53 | ...; | false |
| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:26:38:26:39 | IOException ex | true |
@@ -1688,126 +1044,64 @@ conditionBlock
conditionFlow
| Assert.cs:9:20:9:20 | access to parameter b | Assert.cs:9:24:9:27 | null | true |
| Assert.cs:9:20:9:20 | access to parameter b | Assert.cs:9:31:9:32 | "" | false |
| Assert.cs:10:22:10:30 | ... != ... | Assert.cs:10:9:10:31 | [assertion failure] call to method Assert | false |
| Assert.cs:10:22:10:30 | ... != ... | Assert.cs:10:9:10:31 | [assertion success] call to method Assert | true |
| Assert.cs:16:20:16:20 | access to parameter b | Assert.cs:16:24:16:27 | null | true |
| Assert.cs:16:20:16:20 | access to parameter b | Assert.cs:16:31:16:32 | "" | false |
| Assert.cs:23:20:23:20 | access to parameter b | Assert.cs:23:24:23:27 | null | true |
| Assert.cs:23:20:23:20 | access to parameter b | Assert.cs:23:31:23:32 | "" | false |
| Assert.cs:30:20:30:20 | access to parameter b | Assert.cs:30:24:30:27 | null | true |
| Assert.cs:30:20:30:20 | access to parameter b | Assert.cs:30:31:30:32 | "" | false |
| Assert.cs:31:23:31:31 | ... == ... | Assert.cs:31:9:31:32 | [assertion failure] call to method IsTrue | false |
| Assert.cs:31:23:31:31 | ... == ... | Assert.cs:31:9:31:32 | [assertion success] call to method IsTrue | true |
| Assert.cs:37:20:37:20 | access to parameter b | Assert.cs:37:24:37:27 | null | true |
| Assert.cs:37:20:37:20 | access to parameter b | Assert.cs:37:31:37:32 | "" | false |
| Assert.cs:38:23:38:31 | ... != ... | Assert.cs:38:9:38:32 | [assertion failure] call to method IsTrue | false |
| Assert.cs:38:23:38:31 | ... != ... | Assert.cs:38:9:38:32 | [assertion success] call to method IsTrue | true |
| Assert.cs:44:20:44:20 | access to parameter b | Assert.cs:44:24:44:27 | null | true |
| Assert.cs:44:20:44:20 | access to parameter b | Assert.cs:44:31:44:32 | "" | false |
| Assert.cs:45:24:45:32 | ... != ... | Assert.cs:45:9:45:33 | [assertion failure] call to method IsFalse | true |
| Assert.cs:45:24:45:32 | ... != ... | Assert.cs:45:9:45:33 | [assertion success] call to method IsFalse | false |
| Assert.cs:51:20:51:20 | access to parameter b | Assert.cs:51:24:51:27 | null | true |
| Assert.cs:51:20:51:20 | access to parameter b | Assert.cs:51:31:51:32 | "" | false |
| Assert.cs:52:24:52:32 | ... == ... | Assert.cs:52:9:52:33 | [assertion failure] call to method IsFalse | true |
| Assert.cs:52:24:52:32 | ... == ... | Assert.cs:52:9:52:33 | [assertion success] call to method IsFalse | false |
| Assert.cs:58:20:58:20 | access to parameter b | Assert.cs:58:24:58:27 | null | true |
| Assert.cs:58:20:58:20 | access to parameter b | Assert.cs:58:31:58:32 | "" | false |
| Assert.cs:59:23:59:31 | ... != ... | Assert.cs:59:23:59:36 | [false] ... && ... | false |
| Assert.cs:59:23:59:31 | ... != ... | Assert.cs:59:23:59:36 | ... && ... | false |
| Assert.cs:59:23:59:31 | ... != ... | Assert.cs:59:36:59:36 | access to parameter b | true |
| Assert.cs:59:23:59:36 | [false] ... && ... | Assert.cs:59:9:59:37 | [assertion failure] call to method IsTrue | false |
| Assert.cs:59:23:59:36 | [true] ... && ... | Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:59:23:59:36 | [false] ... && ... | false |
| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:59:23:59:36 | [true] ... && ... | true |
| Assert.cs:65:20:65:20 | access to parameter b | Assert.cs:65:24:65:27 | null | true |
| Assert.cs:65:20:65:20 | access to parameter b | Assert.cs:65:31:65:32 | "" | false |
| Assert.cs:66:24:66:32 | ... == ... | Assert.cs:66:24:66:37 | [true] ... \|\| ... | true |
| Assert.cs:66:24:66:32 | ... == ... | Assert.cs:66:24:66:37 | ... \|\| ... | true |
| Assert.cs:66:24:66:32 | ... == ... | Assert.cs:66:37:66:37 | access to parameter b | false |
| Assert.cs:66:24:66:37 | [false] ... \|\| ... | Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | false |
| Assert.cs:66:24:66:37 | [true] ... \|\| ... | Assert.cs:66:9:66:38 | [assertion failure] call to method IsFalse | true |
| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:66:24:66:37 | [false] ... \|\| ... | false |
| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:66:24:66:37 | [true] ... \|\| ... | true |
| Assert.cs:72:20:72:20 | access to parameter b | Assert.cs:72:24:72:27 | null | true |
| Assert.cs:72:20:72:20 | access to parameter b | Assert.cs:72:31:72:32 | "" | false |
| Assert.cs:73:23:73:31 | ... == ... | Assert.cs:73:23:73:36 | [false] ... && ... | false |
| Assert.cs:73:23:73:31 | ... == ... | Assert.cs:73:23:73:36 | ... && ... | false |
| Assert.cs:73:23:73:31 | ... == ... | Assert.cs:73:36:73:36 | access to parameter b | true |
| Assert.cs:73:23:73:36 | [false] ... && ... | Assert.cs:73:9:73:37 | [assertion failure] call to method IsTrue | false |
| Assert.cs:73:23:73:36 | [true] ... && ... | Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:73:23:73:36 | [false] ... && ... | false |
| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:73:23:73:36 | [true] ... && ... | true |
| Assert.cs:79:20:79:20 | access to parameter b | Assert.cs:79:24:79:27 | null | true |
| Assert.cs:79:20:79:20 | access to parameter b | Assert.cs:79:31:79:32 | "" | false |
| Assert.cs:80:24:80:32 | ... != ... | Assert.cs:80:24:80:37 | [true] ... \|\| ... | true |
| Assert.cs:80:24:80:32 | ... != ... | Assert.cs:80:24:80:37 | ... \|\| ... | true |
| Assert.cs:80:24:80:32 | ... != ... | Assert.cs:80:37:80:37 | access to parameter b | false |
| Assert.cs:80:24:80:37 | [false] ... \|\| ... | Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | false |
| Assert.cs:80:24:80:37 | [true] ... \|\| ... | Assert.cs:80:9:80:38 | [assertion failure] call to method IsFalse | true |
| Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:80:24:80:37 | [false] ... \|\| ... | false |
| Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:80:24:80:37 | [true] ... \|\| ... | true |
| Assert.cs:86:20:86:20 | access to parameter b | Assert.cs:86:24:86:27 | null | true |
| Assert.cs:86:20:86:20 | access to parameter b | Assert.cs:86:31:86:32 | "" | false |
| Assert.cs:87:22:87:30 | ... != ... | Assert.cs:87:9:87:31 | [assertion failure] call to method Assert | false |
| Assert.cs:87:22:87:30 | ... != ... | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | true |
| Assert.cs:90:13:90:13 | access to parameter b | Assert.cs:90:17:90:20 | null | true |
| Assert.cs:90:13:90:13 | access to parameter b | Assert.cs:90:24:90:25 | "" | false |
| Assert.cs:94:13:94:13 | access to parameter b | Assert.cs:94:17:94:20 | null | true |
| Assert.cs:94:13:94:13 | access to parameter b | Assert.cs:94:24:94:25 | "" | false |
| Assert.cs:98:13:98:13 | access to parameter b | Assert.cs:98:17:98:20 | null | true |
| Assert.cs:98:13:98:13 | access to parameter b | Assert.cs:98:24:98:25 | "" | false |
| Assert.cs:99:23:99:31 | ... == ... | Assert.cs:99:9:99:32 | [assertion failure] call to method IsTrue | false |
| Assert.cs:99:23:99:31 | ... == ... | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | true |
| Assert.cs:102:13:102:13 | access to parameter b | Assert.cs:102:17:102:20 | null | true |
| Assert.cs:102:13:102:13 | access to parameter b | Assert.cs:102:24:102:25 | "" | false |
| Assert.cs:103:23:103:31 | ... != ... | Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | false |
| Assert.cs:103:23:103:31 | ... != ... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | true |
| Assert.cs:106:13:106:13 | access to parameter b | Assert.cs:106:17:106:20 | null | true |
| Assert.cs:106:13:106:13 | access to parameter b | Assert.cs:106:24:106:25 | "" | false |
| Assert.cs:107:24:107:32 | ... != ... | Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | true |
| Assert.cs:107:24:107:32 | ... != ... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | false |
| Assert.cs:110:13:110:13 | access to parameter b | Assert.cs:110:17:110:20 | null | true |
| Assert.cs:110:13:110:13 | access to parameter b | Assert.cs:110:24:110:25 | "" | false |
| Assert.cs:111:24:111:32 | ... == ... | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | true |
| Assert.cs:111:24:111:32 | ... == ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | false |
| Assert.cs:114:13:114:13 | access to parameter b | Assert.cs:114:17:114:20 | null | true |
| Assert.cs:114:13:114:13 | access to parameter b | Assert.cs:114:24:114:25 | "" | false |
| Assert.cs:115:23:115:31 | ... != ... | Assert.cs:115:23:115:36 | [false] ... && ... | false |
| Assert.cs:115:23:115:31 | ... != ... | Assert.cs:115:23:115:36 | ... && ... | false |
| Assert.cs:115:23:115:31 | ... != ... | Assert.cs:115:36:115:36 | access to parameter b | true |
| Assert.cs:115:23:115:36 | [false] ... && ... | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | false |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:115:23:115:36 | [false] ... && ... | false |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:115:23:115:36 | [true] ... && ... | true |
| Assert.cs:118:13:118:13 | access to parameter b | Assert.cs:118:17:118:20 | null | true |
| Assert.cs:118:13:118:13 | access to parameter b | Assert.cs:118:24:118:25 | "" | false |
| Assert.cs:119:24:119:32 | ... == ... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | true |
| Assert.cs:119:24:119:32 | ... == ... | Assert.cs:119:24:119:38 | ... \|\| ... | true |
| Assert.cs:119:24:119:32 | ... == ... | Assert.cs:119:38:119:38 | access to parameter b | false |
| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | false |
| Assert.cs:119:24:119:38 | [true] ... \|\| ... | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | true |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | false |
| Assert.cs:119:37:119:38 | [true] !... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:37:119:38 | [false] !... | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:37:119:38 | [true] !... | false |
| Assert.cs:122:13:122:13 | access to parameter b | Assert.cs:122:17:122:20 | null | true |
| Assert.cs:122:13:122:13 | access to parameter b | Assert.cs:122:24:122:25 | "" | false |
| Assert.cs:123:23:123:31 | ... == ... | Assert.cs:123:23:123:36 | [false] ... && ... | false |
| Assert.cs:123:23:123:31 | ... == ... | Assert.cs:123:23:123:36 | ... && ... | false |
| Assert.cs:123:23:123:31 | ... == ... | Assert.cs:123:36:123:36 | access to parameter b | true |
| Assert.cs:123:23:123:36 | [false] ... && ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | false |
| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:123:23:123:36 | [false] ... && ... | false |
| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:123:23:123:36 | [true] ... && ... | true |
| Assert.cs:126:13:126:13 | access to parameter b | Assert.cs:126:17:126:20 | null | true |
| Assert.cs:126:13:126:13 | access to parameter b | Assert.cs:126:24:126:25 | "" | false |
| Assert.cs:127:24:127:32 | ... != ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | true |
| Assert.cs:127:24:127:32 | ... != ... | Assert.cs:127:24:127:38 | ... \|\| ... | true |
| Assert.cs:127:24:127:32 | ... != ... | Assert.cs:127:38:127:38 | access to parameter b | false |
| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | false |
| Assert.cs:127:24:127:38 | [true] ... \|\| ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | true |
| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | false |
| Assert.cs:127:37:127:38 | [true] !... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | true |
| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:37:127:38 | [false] !... | true |
| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:37:127:38 | [true] !... | false |
| Assert.cs:140:25:140:26 | access to parameter b1 | Assert.cs:140:29:140:30 | [assertion failure] access to parameter b2 | false |
| Assert.cs:140:25:140:26 | access to parameter b1 | Assert.cs:140:29:140:30 | access to parameter b2 | true |
| Assert.cs:140:29:140:30 | [assertion failure] access to parameter b2 | Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | false |
| Assert.cs:140:29:140:30 | [assertion failure] access to parameter b2 | Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | true |
| Assert.cs:140:29:140:30 | access to parameter b2 | Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | true |
| Assert.cs:140:29:140:30 | access to parameter b2 | Assert.cs:140:33:140:34 | [assertion success] access to parameter b3 | false |
| BreakInTry.cs:9:21:9:31 | ... == ... | BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | false |
| BreakInTry.cs:9:21:9:31 | ... == ... | BreakInTry.cs:10:21:10:26 | break; | true |
| BreakInTry.cs:15:17:15:28 | ... == ... | BreakInTry.cs:3:10:3:11 | exit M1 (normal) | false |
@@ -1908,10 +1202,6 @@ conditionFlow
| ExitMethods.cs:112:16:112:25 | ... != ... | ExitMethods.cs:112:69:112:75 | "input" | false |
| ExitMethods.cs:117:16:117:30 | call to method Contains | ExitMethods.cs:117:34:117:34 | 0 | true |
| ExitMethods.cs:117:16:117:30 | call to method Contains | ExitMethods.cs:117:38:117:38 | 1 | false |
| ExitMethods.cs:122:23:122:27 | false | ExitMethods.cs:122:9:122:28 | [assertion failure] call to method IsTrue | false |
| ExitMethods.cs:132:48:132:48 | access to parameter b | ExitMethods.cs:132:33:132:49 | [assertion failure] call to method IsFalse | true |
| ExitMethods.cs:132:48:132:48 | access to parameter b | ExitMethods.cs:132:33:132:49 | [assertion success] call to method IsFalse | false |
| ExitMethods.cs:136:21:136:24 | true | ExitMethods.cs:136:9:136:25 | [assertion failure] call to method AssertFalse | true |
| ExitMethods.cs:142:13:142:13 | access to parameter b | ExitMethods.cs:143:13:143:43 | ...; | true |
| ExitMethods.cs:142:13:142:13 | access to parameter b | ExitMethods.cs:145:13:145:53 | ...; | false |
| Finally.cs:26:48:26:51 | true | Finally.cs:27:9:29:9 | {...} | true |

View File

@@ -371,8 +371,7 @@ nodeEnclosing
| Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:7:10:7:11 | M1 |
| Assert.cs:9:24:9:27 | null | Assert.cs:7:10:7:11 | M1 |
| Assert.cs:9:31:9:32 | "" | Assert.cs:7:10:7:11 | M1 |
| Assert.cs:10:9:10:31 | [assertion failure] call to method Assert | Assert.cs:7:10:7:11 | M1 |
| Assert.cs:10:9:10:31 | [assertion success] call to method Assert | Assert.cs:7:10:7:11 | M1 |
| Assert.cs:10:9:10:31 | call to method Assert | Assert.cs:7:10:7:11 | M1 |
| Assert.cs:10:9:10:32 | ...; | Assert.cs:7:10:7:11 | M1 |
| Assert.cs:10:22:10:22 | access to local variable s | Assert.cs:7:10:7:11 | M1 |
| Assert.cs:10:22:10:30 | ... != ... | Assert.cs:7:10:7:11 | M1 |
@@ -392,8 +391,7 @@ nodeEnclosing
| Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:14:10:14:11 | M2 |
| Assert.cs:16:24:16:27 | null | Assert.cs:14:10:14:11 | M2 |
| Assert.cs:16:31:16:32 | "" | Assert.cs:14:10:14:11 | M2 |
| Assert.cs:17:9:17:24 | [assertion failure] call to method IsNull | Assert.cs:14:10:14:11 | M2 |
| Assert.cs:17:9:17:24 | [assertion success] call to method IsNull | Assert.cs:14:10:14:11 | M2 |
| Assert.cs:17:9:17:24 | call to method IsNull | Assert.cs:14:10:14:11 | M2 |
| Assert.cs:17:9:17:25 | ...; | Assert.cs:14:10:14:11 | M2 |
| Assert.cs:17:23:17:23 | access to local variable s | Assert.cs:14:10:14:11 | M2 |
| Assert.cs:18:9:18:35 | call to method WriteLine | Assert.cs:14:10:14:11 | M2 |
@@ -411,8 +409,7 @@ nodeEnclosing
| Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:21:10:21:11 | M3 |
| Assert.cs:23:24:23:27 | null | Assert.cs:21:10:21:11 | M3 |
| Assert.cs:23:31:23:32 | "" | Assert.cs:21:10:21:11 | M3 |
| Assert.cs:24:9:24:27 | [assertion failure] call to method IsNotNull | Assert.cs:21:10:21:11 | M3 |
| Assert.cs:24:9:24:27 | [assertion success] call to method IsNotNull | Assert.cs:21:10:21:11 | M3 |
| Assert.cs:24:9:24:27 | call to method IsNotNull | Assert.cs:21:10:21:11 | M3 |
| Assert.cs:24:9:24:28 | ...; | Assert.cs:21:10:21:11 | M3 |
| Assert.cs:24:26:24:26 | access to local variable s | Assert.cs:21:10:21:11 | M3 |
| Assert.cs:25:9:25:35 | call to method WriteLine | Assert.cs:21:10:21:11 | M3 |
@@ -430,8 +427,7 @@ nodeEnclosing
| Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:28:10:28:11 | M4 |
| Assert.cs:30:24:30:27 | null | Assert.cs:28:10:28:11 | M4 |
| Assert.cs:30:31:30:32 | "" | Assert.cs:28:10:28:11 | M4 |
| Assert.cs:31:9:31:32 | [assertion failure] call to method IsTrue | Assert.cs:28:10:28:11 | M4 |
| Assert.cs:31:9:31:32 | [assertion success] call to method IsTrue | Assert.cs:28:10:28:11 | M4 |
| Assert.cs:31:9:31:32 | call to method IsTrue | Assert.cs:28:10:28:11 | M4 |
| Assert.cs:31:9:31:33 | ...; | Assert.cs:28:10:28:11 | M4 |
| Assert.cs:31:23:31:23 | access to local variable s | Assert.cs:28:10:28:11 | M4 |
| Assert.cs:31:23:31:31 | ... == ... | Assert.cs:28:10:28:11 | M4 |
@@ -451,8 +447,7 @@ nodeEnclosing
| Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:35:10:35:11 | M5 |
| Assert.cs:37:24:37:27 | null | Assert.cs:35:10:35:11 | M5 |
| Assert.cs:37:31:37:32 | "" | Assert.cs:35:10:35:11 | M5 |
| Assert.cs:38:9:38:32 | [assertion failure] call to method IsTrue | Assert.cs:35:10:35:11 | M5 |
| Assert.cs:38:9:38:32 | [assertion success] call to method IsTrue | Assert.cs:35:10:35:11 | M5 |
| Assert.cs:38:9:38:32 | call to method IsTrue | Assert.cs:35:10:35:11 | M5 |
| Assert.cs:38:9:38:33 | ...; | Assert.cs:35:10:35:11 | M5 |
| Assert.cs:38:23:38:23 | access to local variable s | Assert.cs:35:10:35:11 | M5 |
| Assert.cs:38:23:38:31 | ... != ... | Assert.cs:35:10:35:11 | M5 |
@@ -472,8 +467,7 @@ nodeEnclosing
| Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:42:10:42:11 | M6 |
| Assert.cs:44:24:44:27 | null | Assert.cs:42:10:42:11 | M6 |
| Assert.cs:44:31:44:32 | "" | Assert.cs:42:10:42:11 | M6 |
| Assert.cs:45:9:45:33 | [assertion failure] call to method IsFalse | Assert.cs:42:10:42:11 | M6 |
| Assert.cs:45:9:45:33 | [assertion success] call to method IsFalse | Assert.cs:42:10:42:11 | M6 |
| Assert.cs:45:9:45:33 | call to method IsFalse | Assert.cs:42:10:42:11 | M6 |
| Assert.cs:45:9:45:34 | ...; | Assert.cs:42:10:42:11 | M6 |
| Assert.cs:45:24:45:24 | access to local variable s | Assert.cs:42:10:42:11 | M6 |
| Assert.cs:45:24:45:32 | ... != ... | Assert.cs:42:10:42:11 | M6 |
@@ -493,8 +487,7 @@ nodeEnclosing
| Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:49:10:49:11 | M7 |
| Assert.cs:51:24:51:27 | null | Assert.cs:49:10:49:11 | M7 |
| Assert.cs:51:31:51:32 | "" | Assert.cs:49:10:49:11 | M7 |
| Assert.cs:52:9:52:33 | [assertion failure] call to method IsFalse | Assert.cs:49:10:49:11 | M7 |
| Assert.cs:52:9:52:33 | [assertion success] call to method IsFalse | Assert.cs:49:10:49:11 | M7 |
| Assert.cs:52:9:52:33 | call to method IsFalse | Assert.cs:49:10:49:11 | M7 |
| Assert.cs:52:9:52:34 | ...; | Assert.cs:49:10:49:11 | M7 |
| Assert.cs:52:24:52:24 | access to local variable s | Assert.cs:49:10:49:11 | M7 |
| Assert.cs:52:24:52:32 | ... == ... | Assert.cs:49:10:49:11 | M7 |
@@ -514,13 +507,11 @@ nodeEnclosing
| Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:58:24:58:27 | null | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:58:31:58:32 | "" | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:59:9:59:37 | [assertion failure] call to method IsTrue | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:59:9:59:37 | call to method IsTrue | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:59:9:59:38 | ...; | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:59:23:59:23 | access to local variable s | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:59:23:59:31 | ... != ... | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:59:23:59:36 | [false] ... && ... | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:59:23:59:36 | [true] ... && ... | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:59:28:59:31 | null | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:60:9:60:35 | call to method WriteLine | Assert.cs:56:10:56:11 | M8 |
@@ -538,13 +529,11 @@ nodeEnclosing
| Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:65:24:65:27 | null | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:65:31:65:32 | "" | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:66:9:66:38 | [assertion failure] call to method IsFalse | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:66:9:66:38 | call to method IsFalse | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:66:9:66:39 | ...; | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:66:24:66:24 | access to local variable s | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:66:24:66:32 | ... == ... | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:66:24:66:37 | [false] ... \|\| ... | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:66:24:66:37 | [true] ... \|\| ... | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:66:29:66:32 | null | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:67:9:67:35 | call to method WriteLine | Assert.cs:63:10:63:11 | M9 |
@@ -562,13 +551,11 @@ nodeEnclosing
| Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:72:24:72:27 | null | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:72:31:72:32 | "" | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:73:9:73:37 | [assertion failure] call to method IsTrue | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:73:9:73:37 | call to method IsTrue | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:73:9:73:38 | ...; | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:73:23:73:23 | access to local variable s | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:73:23:73:31 | ... == ... | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:73:23:73:36 | [false] ... && ... | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:73:23:73:36 | [true] ... && ... | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:73:28:73:31 | null | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:74:9:74:35 | call to method WriteLine | Assert.cs:70:10:70:12 | M10 |
@@ -586,13 +573,11 @@ nodeEnclosing
| Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:79:24:79:27 | null | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:79:31:79:32 | "" | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:80:9:80:38 | [assertion failure] call to method IsFalse | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:80:9:80:38 | call to method IsFalse | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:80:9:80:39 | ...; | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:80:24:80:24 | access to local variable s | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:80:24:80:32 | ... != ... | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:80:24:80:37 | [false] ... \|\| ... | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:80:24:80:37 | [true] ... \|\| ... | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:80:29:80:32 | null | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:81:9:81:35 | call to method WriteLine | Assert.cs:77:10:77:12 | M11 |
@@ -610,8 +595,7 @@ nodeEnclosing
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:86:24:86:27 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:86:31:86:32 | "" | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:87:9:87:31 | [assertion failure] call to method Assert | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:87:9:87:31 | call to method Assert | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:87:9:87:32 | ...; | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:87:22:87:22 | access to local variable s | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:87:22:87:30 | ... != ... | Assert.cs:84:10:84:12 | M12 |
@@ -626,8 +610,7 @@ nodeEnclosing
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:90:17:90:20 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:90:24:90:25 | "" | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:91:9:91:24 | [assertion failure] call to method IsNull | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:91:9:91:24 | call to method IsNull | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:91:9:91:25 | ...; | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:91:23:91:23 | access to local variable s | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:92:9:92:35 | call to method WriteLine | Assert.cs:84:10:84:12 | M12 |
@@ -640,8 +623,7 @@ nodeEnclosing
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:94:17:94:20 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:94:24:94:25 | "" | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:95:9:95:27 | [assertion failure] call to method IsNotNull | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:95:9:95:27 | call to method IsNotNull | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:95:9:95:28 | ...; | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:95:26:95:26 | access to local variable s | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:96:9:96:35 | call to method WriteLine | Assert.cs:84:10:84:12 | M12 |
@@ -654,8 +636,7 @@ nodeEnclosing
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:98:17:98:20 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:98:24:98:25 | "" | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:99:9:99:32 | [assertion failure] call to method IsTrue | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:99:9:99:32 | call to method IsTrue | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:99:9:99:33 | ...; | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:99:23:99:23 | access to local variable s | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:99:23:99:31 | ... == ... | Assert.cs:84:10:84:12 | M12 |
@@ -670,8 +651,7 @@ nodeEnclosing
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:102:17:102:20 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:102:24:102:25 | "" | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:103:9:103:32 | call to method IsTrue | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:103:9:103:33 | ...; | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:103:23:103:23 | access to local variable s | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:103:23:103:31 | ... != ... | Assert.cs:84:10:84:12 | M12 |
@@ -686,8 +666,7 @@ nodeEnclosing
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:106:17:106:20 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:106:24:106:25 | "" | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:107:9:107:33 | call to method IsFalse | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:107:9:107:34 | ...; | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:107:24:107:24 | access to local variable s | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:107:24:107:32 | ... != ... | Assert.cs:84:10:84:12 | M12 |
@@ -702,8 +681,7 @@ nodeEnclosing
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:110:17:110:20 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:110:24:110:25 | "" | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:111:9:111:33 | call to method IsFalse | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:111:9:111:34 | ...; | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:111:24:111:24 | access to local variable s | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:111:24:111:32 | ... == ... | Assert.cs:84:10:84:12 | M12 |
@@ -718,13 +696,11 @@ nodeEnclosing
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:114:17:114:20 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:114:24:114:25 | "" | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:115:9:115:37 | call to method IsTrue | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:115:9:115:38 | ...; | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:115:23:115:23 | access to local variable s | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:115:23:115:31 | ... != ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:115:23:115:36 | [false] ... && ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:115:28:115:31 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:116:9:116:35 | call to method WriteLine | Assert.cs:84:10:84:12 | M12 |
@@ -737,16 +713,13 @@ nodeEnclosing
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:118:17:118:20 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:118:24:118:25 | "" | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:119:9:119:39 | call to method IsFalse | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:119:9:119:40 | ...; | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:119:24:119:24 | access to local variable s | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:119:24:119:32 | ... == ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:119:24:119:38 | [true] ... \|\| ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:119:29:119:32 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:119:37:119:38 | [true] !... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:119:37:119:38 | !... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:120:9:120:35 | call to method WriteLine | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:120:9:120:36 | ...; | Assert.cs:84:10:84:12 | M12 |
@@ -758,13 +731,11 @@ nodeEnclosing
| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:122:17:122:20 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:122:24:122:25 | "" | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:123:9:123:37 | call to method IsTrue | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:123:9:123:38 | ...; | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:123:23:123:23 | access to local variable s | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:123:23:123:31 | ... == ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:123:23:123:36 | [false] ... && ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:123:28:123:31 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:124:9:124:35 | call to method WriteLine | Assert.cs:84:10:84:12 | M12 |
@@ -777,16 +748,13 @@ nodeEnclosing
| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:126:17:126:20 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:126:24:126:25 | "" | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:127:9:127:39 | call to method IsFalse | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:127:9:127:40 | ...; | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:127:24:127:24 | access to local variable s | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:127:24:127:32 | ... != ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:127:24:127:38 | [true] ... \|\| ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:127:29:127:32 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:127:37:127:38 | [true] !... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:127:37:127:38 | !... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:128:9:128:35 | call to method WriteLine | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:128:9:128:36 | ...; | Assert.cs:84:10:84:12 | M12 |
@@ -801,17 +769,12 @@ nodeEnclosing
| Assert.cs:138:10:138:12 | exit M13 (abnormal) | Assert.cs:138:10:138:12 | M13 |
| Assert.cs:138:10:138:12 | exit M13 (normal) | Assert.cs:138:10:138:12 | M13 |
| Assert.cs:139:5:142:5 | {...} | Assert.cs:138:10:138:12 | M13 |
| Assert.cs:140:9:140:35 | [assertion failure] call to method AssertTrueFalse | Assert.cs:138:10:138:12 | M13 |
| Assert.cs:140:9:140:35 | [assertion failure] call to method AssertTrueFalse | Assert.cs:138:10:138:12 | M13 |
| Assert.cs:140:9:140:35 | [assertion success] call to method AssertTrueFalse | Assert.cs:138:10:138:12 | M13 |
| Assert.cs:140:9:140:35 | call to method AssertTrueFalse | Assert.cs:138:10:138:12 | M13 |
| Assert.cs:140:9:140:35 | this access | Assert.cs:138:10:138:12 | M13 |
| Assert.cs:140:9:140:36 | ...; | Assert.cs:138:10:138:12 | M13 |
| Assert.cs:140:25:140:26 | access to parameter b1 | Assert.cs:138:10:138:12 | M13 |
| Assert.cs:140:29:140:30 | [assertion failure] access to parameter b2 | Assert.cs:138:10:138:12 | M13 |
| Assert.cs:140:29:140:30 | access to parameter b2 | Assert.cs:138:10:138:12 | M13 |
| Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | Assert.cs:138:10:138:12 | M13 |
| Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | Assert.cs:138:10:138:12 | M13 |
| Assert.cs:140:33:140:34 | [assertion success] access to parameter b3 | Assert.cs:138:10:138:12 | M13 |
| Assert.cs:140:33:140:34 | access to parameter b3 | Assert.cs:138:10:138:12 | M13 |
| Assert.cs:141:9:141:15 | return ...; | Assert.cs:138:10:138:12 | M13 |
| Assignments.cs:1:7:1:17 | call to constructor Object | Assignments.cs:1:7:1:17 | Assignments |
| Assignments.cs:1:7:1:17 | enter Assignments | Assignments.cs:1:7:1:17 | Assignments |
@@ -1575,7 +1538,7 @@ nodeEnclosing
| ExitMethods.cs:120:17:120:32 | exit FailingAssertion | ExitMethods.cs:120:17:120:32 | FailingAssertion |
| ExitMethods.cs:120:17:120:32 | exit FailingAssertion (abnormal) | ExitMethods.cs:120:17:120:32 | FailingAssertion |
| ExitMethods.cs:121:5:124:5 | {...} | ExitMethods.cs:120:17:120:32 | FailingAssertion |
| ExitMethods.cs:122:9:122:28 | [assertion failure] call to method IsTrue | ExitMethods.cs:120:17:120:32 | FailingAssertion |
| ExitMethods.cs:122:9:122:28 | call to method IsTrue | ExitMethods.cs:120:17:120:32 | FailingAssertion |
| ExitMethods.cs:122:9:122:29 | ...; | ExitMethods.cs:120:17:120:32 | FailingAssertion |
| ExitMethods.cs:122:23:122:27 | false | ExitMethods.cs:120:17:120:32 | FailingAssertion |
| ExitMethods.cs:126:17:126:33 | enter FailingAssertion2 | ExitMethods.cs:126:17:126:33 | FailingAssertion2 |
@@ -1589,14 +1552,13 @@ nodeEnclosing
| ExitMethods.cs:132:10:132:20 | exit AssertFalse | ExitMethods.cs:132:10:132:20 | AssertFalse |
| ExitMethods.cs:132:10:132:20 | exit AssertFalse (abnormal) | ExitMethods.cs:132:10:132:20 | AssertFalse |
| ExitMethods.cs:132:10:132:20 | exit AssertFalse (normal) | ExitMethods.cs:132:10:132:20 | AssertFalse |
| ExitMethods.cs:132:33:132:49 | [assertion failure] call to method IsFalse | ExitMethods.cs:132:10:132:20 | AssertFalse |
| ExitMethods.cs:132:33:132:49 | [assertion success] call to method IsFalse | ExitMethods.cs:132:10:132:20 | AssertFalse |
| ExitMethods.cs:132:33:132:49 | call to method IsFalse | ExitMethods.cs:132:10:132:20 | AssertFalse |
| ExitMethods.cs:132:48:132:48 | access to parameter b | ExitMethods.cs:132:10:132:20 | AssertFalse |
| ExitMethods.cs:134:17:134:33 | enter FailingAssertion3 | ExitMethods.cs:134:17:134:33 | FailingAssertion3 |
| ExitMethods.cs:134:17:134:33 | exit FailingAssertion3 | ExitMethods.cs:134:17:134:33 | FailingAssertion3 |
| ExitMethods.cs:134:17:134:33 | exit FailingAssertion3 (abnormal) | ExitMethods.cs:134:17:134:33 | FailingAssertion3 |
| ExitMethods.cs:135:5:138:5 | {...} | ExitMethods.cs:134:17:134:33 | FailingAssertion3 |
| ExitMethods.cs:136:9:136:25 | [assertion failure] call to method AssertFalse | ExitMethods.cs:134:17:134:33 | FailingAssertion3 |
| ExitMethods.cs:136:9:136:25 | call to method AssertFalse | ExitMethods.cs:134:17:134:33 | FailingAssertion3 |
| ExitMethods.cs:136:9:136:25 | this access | ExitMethods.cs:134:17:134:33 | FailingAssertion3 |
| ExitMethods.cs:136:9:136:26 | ...; | ExitMethods.cs:134:17:134:33 | FailingAssertion3 |
| ExitMethods.cs:136:21:136:24 | true | ExitMethods.cs:134:17:134:33 | FailingAssertion3 |
@@ -4250,176 +4212,149 @@ blockEnclosing
| Assert.cs:5:7:5:17 | enter AssertTests | Assert.cs:5:7:5:17 | AssertTests |
| Assert.cs:7:10:7:11 | enter M1 | Assert.cs:7:10:7:11 | M1 |
| Assert.cs:7:10:7:11 | exit M1 | Assert.cs:7:10:7:11 | M1 |
| Assert.cs:7:10:7:11 | exit M1 (abnormal) | Assert.cs:7:10:7:11 | M1 |
| Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:7:10:7:11 | M1 |
| Assert.cs:9:24:9:27 | null | Assert.cs:7:10:7:11 | M1 |
| Assert.cs:9:31:9:32 | "" | Assert.cs:7:10:7:11 | M1 |
| Assert.cs:10:9:10:31 | [assertion failure] call to method Assert | Assert.cs:7:10:7:11 | M1 |
| Assert.cs:10:9:10:31 | [assertion success] call to method Assert | Assert.cs:7:10:7:11 | M1 |
| Assert.cs:11:9:11:36 | ...; | Assert.cs:7:10:7:11 | M1 |
| Assert.cs:14:10:14:11 | enter M2 | Assert.cs:14:10:14:11 | M2 |
| Assert.cs:14:10:14:11 | exit M2 | Assert.cs:14:10:14:11 | M2 |
| Assert.cs:14:10:14:11 | exit M2 (abnormal) | Assert.cs:14:10:14:11 | M2 |
| Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:14:10:14:11 | M2 |
| Assert.cs:16:24:16:27 | null | Assert.cs:14:10:14:11 | M2 |
| Assert.cs:16:31:16:32 | "" | Assert.cs:14:10:14:11 | M2 |
| Assert.cs:17:9:17:24 | [assertion failure] call to method IsNull | Assert.cs:14:10:14:11 | M2 |
| Assert.cs:17:9:17:24 | [assertion success] call to method IsNull | Assert.cs:14:10:14:11 | M2 |
| Assert.cs:18:9:18:36 | ...; | Assert.cs:14:10:14:11 | M2 |
| Assert.cs:21:10:21:11 | enter M3 | Assert.cs:21:10:21:11 | M3 |
| Assert.cs:21:10:21:11 | exit M3 | Assert.cs:21:10:21:11 | M3 |
| Assert.cs:21:10:21:11 | exit M3 (abnormal) | Assert.cs:21:10:21:11 | M3 |
| Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:21:10:21:11 | M3 |
| Assert.cs:23:24:23:27 | null | Assert.cs:21:10:21:11 | M3 |
| Assert.cs:23:31:23:32 | "" | Assert.cs:21:10:21:11 | M3 |
| Assert.cs:24:9:24:27 | [assertion failure] call to method IsNotNull | Assert.cs:21:10:21:11 | M3 |
| Assert.cs:24:9:24:27 | [assertion success] call to method IsNotNull | Assert.cs:21:10:21:11 | M3 |
| Assert.cs:25:9:25:36 | ...; | Assert.cs:21:10:21:11 | M3 |
| Assert.cs:28:10:28:11 | enter M4 | Assert.cs:28:10:28:11 | M4 |
| Assert.cs:28:10:28:11 | exit M4 | Assert.cs:28:10:28:11 | M4 |
| Assert.cs:28:10:28:11 | exit M4 (abnormal) | Assert.cs:28:10:28:11 | M4 |
| Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:28:10:28:11 | M4 |
| Assert.cs:30:24:30:27 | null | Assert.cs:28:10:28:11 | M4 |
| Assert.cs:30:31:30:32 | "" | Assert.cs:28:10:28:11 | M4 |
| Assert.cs:31:9:31:32 | [assertion failure] call to method IsTrue | Assert.cs:28:10:28:11 | M4 |
| Assert.cs:31:9:31:32 | [assertion success] call to method IsTrue | Assert.cs:28:10:28:11 | M4 |
| Assert.cs:32:9:32:36 | ...; | Assert.cs:28:10:28:11 | M4 |
| Assert.cs:35:10:35:11 | enter M5 | Assert.cs:35:10:35:11 | M5 |
| Assert.cs:35:10:35:11 | exit M5 | Assert.cs:35:10:35:11 | M5 |
| Assert.cs:35:10:35:11 | exit M5 (abnormal) | Assert.cs:35:10:35:11 | M5 |
| Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:35:10:35:11 | M5 |
| Assert.cs:37:24:37:27 | null | Assert.cs:35:10:35:11 | M5 |
| Assert.cs:37:31:37:32 | "" | Assert.cs:35:10:35:11 | M5 |
| Assert.cs:38:9:38:32 | [assertion failure] call to method IsTrue | Assert.cs:35:10:35:11 | M5 |
| Assert.cs:38:9:38:32 | [assertion success] call to method IsTrue | Assert.cs:35:10:35:11 | M5 |
| Assert.cs:39:9:39:36 | ...; | Assert.cs:35:10:35:11 | M5 |
| Assert.cs:42:10:42:11 | enter M6 | Assert.cs:42:10:42:11 | M6 |
| Assert.cs:42:10:42:11 | exit M6 | Assert.cs:42:10:42:11 | M6 |
| Assert.cs:42:10:42:11 | exit M6 (abnormal) | Assert.cs:42:10:42:11 | M6 |
| Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:42:10:42:11 | M6 |
| Assert.cs:44:24:44:27 | null | Assert.cs:42:10:42:11 | M6 |
| Assert.cs:44:31:44:32 | "" | Assert.cs:42:10:42:11 | M6 |
| Assert.cs:45:9:45:33 | [assertion failure] call to method IsFalse | Assert.cs:42:10:42:11 | M6 |
| Assert.cs:45:9:45:33 | [assertion success] call to method IsFalse | Assert.cs:42:10:42:11 | M6 |
| Assert.cs:46:9:46:36 | ...; | Assert.cs:42:10:42:11 | M6 |
| Assert.cs:49:10:49:11 | enter M7 | Assert.cs:49:10:49:11 | M7 |
| Assert.cs:49:10:49:11 | exit M7 | Assert.cs:49:10:49:11 | M7 |
| Assert.cs:49:10:49:11 | exit M7 (abnormal) | Assert.cs:49:10:49:11 | M7 |
| Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:49:10:49:11 | M7 |
| Assert.cs:51:24:51:27 | null | Assert.cs:49:10:49:11 | M7 |
| Assert.cs:51:31:51:32 | "" | Assert.cs:49:10:49:11 | M7 |
| Assert.cs:52:9:52:33 | [assertion failure] call to method IsFalse | Assert.cs:49:10:49:11 | M7 |
| Assert.cs:52:9:52:33 | [assertion success] call to method IsFalse | Assert.cs:49:10:49:11 | M7 |
| Assert.cs:53:9:53:36 | ...; | Assert.cs:49:10:49:11 | M7 |
| Assert.cs:56:10:56:11 | enter M8 | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:56:10:56:11 | exit M8 | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:56:10:56:11 | exit M8 (abnormal) | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:58:24:58:27 | null | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:58:31:58:32 | "" | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:59:9:59:37 | [assertion failure] call to method IsTrue | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:59:23:59:36 | [false] ... && ... | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:59:23:59:36 | [true] ... && ... | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:60:9:60:36 | ...; | Assert.cs:56:10:56:11 | M8 |
| Assert.cs:63:10:63:11 | enter M9 | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:63:10:63:11 | exit M9 | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:63:10:63:11 | exit M9 (abnormal) | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:65:24:65:27 | null | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:65:31:65:32 | "" | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:66:9:66:38 | [assertion failure] call to method IsFalse | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:66:24:66:37 | [false] ... \|\| ... | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:66:24:66:37 | [true] ... \|\| ... | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:67:9:67:36 | ...; | Assert.cs:63:10:63:11 | M9 |
| Assert.cs:70:10:70:12 | enter M10 | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:70:10:70:12 | exit M10 | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:70:10:70:12 | exit M10 (abnormal) | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:72:24:72:27 | null | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:72:31:72:32 | "" | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:73:9:73:37 | [assertion failure] call to method IsTrue | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:73:23:73:36 | [false] ... && ... | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:73:23:73:36 | [true] ... && ... | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:74:9:74:36 | ...; | Assert.cs:70:10:70:12 | M10 |
| Assert.cs:77:10:77:12 | enter M11 | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:77:10:77:12 | exit M11 | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:77:10:77:12 | exit M11 (abnormal) | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:79:24:79:27 | null | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:79:31:79:32 | "" | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:80:9:80:38 | [assertion failure] call to method IsFalse | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:80:24:80:37 | [false] ... \|\| ... | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:80:24:80:37 | [true] ... \|\| ... | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:81:9:81:36 | ...; | Assert.cs:77:10:77:12 | M11 |
| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:84:10:84:12 | exit M12 | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:84:10:84:12 | exit M12 (abnormal) | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:86:24:86:27 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:86:31:86:32 | "" | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:87:9:87:31 | [assertion failure] call to method Assert | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:88:9:88:36 | ...; | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:90:17:90:20 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:90:24:90:25 | "" | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:91:9:91:24 | [assertion failure] call to method IsNull | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:92:9:92:36 | ...; | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:94:17:94:20 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:94:24:94:25 | "" | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:95:9:95:27 | [assertion failure] call to method IsNotNull | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:96:9:96:36 | ...; | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:98:17:98:20 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:98:24:98:25 | "" | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:99:9:99:32 | [assertion failure] call to method IsTrue | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:100:9:100:36 | ...; | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:102:17:102:20 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:102:24:102:25 | "" | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:104:9:104:36 | ...; | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:106:17:106:20 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:106:24:106:25 | "" | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:108:9:108:36 | ...; | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:110:17:110:20 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:110:24:110:25 | "" | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:112:9:112:36 | ...; | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:114:17:114:20 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:114:24:114:25 | "" | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:115:23:115:36 | [false] ... && ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:116:9:116:36 | ...; | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:118:17:118:20 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:118:24:118:25 | "" | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:119:24:119:38 | [true] ... \|\| ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:119:37:119:38 | [true] !... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:120:9:120:36 | ...; | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:122:17:122:20 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:122:24:122:25 | "" | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:123:23:123:36 | [false] ... && ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:124:9:124:36 | ...; | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:126:17:126:20 | null | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:126:24:126:25 | "" | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:127:24:127:38 | [true] ... \|\| ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:127:37:127:38 | [true] !... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:128:9:128:36 | ...; | Assert.cs:84:10:84:12 | M12 |
| Assert.cs:131:18:131:32 | enter AssertTrueFalse | Assert.cs:131:18:131:32 | AssertTrueFalse |
| Assert.cs:138:10:138:12 | enter M13 | Assert.cs:138:10:138:12 | M13 |
| Assert.cs:138:10:138:12 | exit M13 | Assert.cs:138:10:138:12 | M13 |
| Assert.cs:138:10:138:12 | exit M13 (abnormal) | Assert.cs:138:10:138:12 | M13 |
| Assert.cs:140:29:140:30 | [assertion failure] access to parameter b2 | Assert.cs:138:10:138:12 | M13 |
| Assert.cs:140:29:140:30 | access to parameter b2 | Assert.cs:138:10:138:12 | M13 |
| Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | Assert.cs:138:10:138:12 | M13 |
| Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | Assert.cs:138:10:138:12 | M13 |
| Assert.cs:140:33:140:34 | [assertion success] access to parameter b3 | Assert.cs:138:10:138:12 | M13 |
| Assert.cs:141:9:141:15 | return ...; | Assert.cs:138:10:138:12 | M13 |
| Assignments.cs:1:7:1:17 | enter Assignments | Assignments.cs:1:7:1:17 | Assignments |
| Assignments.cs:3:10:3:10 | enter M | Assignments.cs:3:10:3:10 | M |
| Assignments.cs:14:18:14:35 | enter (...) => ... | Assignments.cs:14:18:14:35 | (...) => ... |
@@ -4626,14 +4561,12 @@ blockEnclosing
| ExitMethods.cs:117:34:117:34 | 0 | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall |
| ExitMethods.cs:117:38:117:38 | 1 | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall |
| ExitMethods.cs:120:17:120:32 | enter FailingAssertion | ExitMethods.cs:120:17:120:32 | FailingAssertion |
| ExitMethods.cs:122:9:122:28 | [assertion failure] call to method IsTrue | ExitMethods.cs:120:17:120:32 | FailingAssertion |
| ExitMethods.cs:126:17:126:33 | enter FailingAssertion2 | ExitMethods.cs:126:17:126:33 | FailingAssertion2 |
| ExitMethods.cs:132:10:132:20 | enter AssertFalse | ExitMethods.cs:132:10:132:20 | AssertFalse |
| ExitMethods.cs:132:10:132:20 | exit AssertFalse | ExitMethods.cs:132:10:132:20 | AssertFalse |
| ExitMethods.cs:132:33:132:49 | [assertion failure] call to method IsFalse | ExitMethods.cs:132:10:132:20 | AssertFalse |
| ExitMethods.cs:132:33:132:49 | [assertion success] call to method IsFalse | ExitMethods.cs:132:10:132:20 | AssertFalse |
| ExitMethods.cs:132:10:132:20 | exit AssertFalse (abnormal) | ExitMethods.cs:132:10:132:20 | AssertFalse |
| ExitMethods.cs:132:10:132:20 | exit AssertFalse (normal) | ExitMethods.cs:132:10:132:20 | AssertFalse |
| ExitMethods.cs:134:17:134:33 | enter FailingAssertion3 | ExitMethods.cs:134:17:134:33 | FailingAssertion3 |
| ExitMethods.cs:136:9:136:25 | [assertion failure] call to method AssertFalse | ExitMethods.cs:134:17:134:33 | FailingAssertion3 |
| ExitMethods.cs:140:17:140:42 | enter ExceptionDispatchInfoThrow | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow |
| ExitMethods.cs:140:17:140:42 | exit ExceptionDispatchInfoThrow (abnormal) | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow |
| ExitMethods.cs:143:13:143:43 | ...; | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow |

View File

@@ -327,8 +327,7 @@
| Assert.cs:10:9:10:32 | ...; | Assert.cs:10:9:10:31 | call to method Assert | exit |
| Assert.cs:10:9:10:32 | ...; | Assert.cs:10:9:10:31 | call to method Assert | normal |
| Assert.cs:10:22:10:22 | access to local variable s | Assert.cs:10:22:10:22 | access to local variable s | normal |
| Assert.cs:10:22:10:30 | ... != ... | Assert.cs:10:22:10:30 | ... != ... | false |
| Assert.cs:10:22:10:30 | ... != ... | Assert.cs:10:22:10:30 | ... != ... | true |
| Assert.cs:10:22:10:30 | ... != ... | Assert.cs:10:22:10:30 | ... != ... | normal |
| Assert.cs:10:27:10:30 | null | Assert.cs:10:27:10:30 | null | normal |
| Assert.cs:11:9:11:35 | call to method WriteLine | Assert.cs:11:9:11:35 | call to method WriteLine | normal |
| Assert.cs:11:9:11:36 | ...; | Assert.cs:11:9:11:35 | call to method WriteLine | normal |
@@ -347,8 +346,7 @@
| Assert.cs:17:9:17:24 | call to method IsNull | Assert.cs:17:9:17:24 | call to method IsNull | throw(AssertFailedException) |
| Assert.cs:17:9:17:25 | ...; | Assert.cs:17:9:17:24 | call to method IsNull | normal |
| Assert.cs:17:9:17:25 | ...; | Assert.cs:17:9:17:24 | call to method IsNull | throw(AssertFailedException) |
| Assert.cs:17:23:17:23 | access to local variable s | Assert.cs:17:23:17:23 | access to local variable s | non-null |
| Assert.cs:17:23:17:23 | access to local variable s | Assert.cs:17:23:17:23 | access to local variable s | null |
| Assert.cs:17:23:17:23 | access to local variable s | Assert.cs:17:23:17:23 | access to local variable s | normal |
| Assert.cs:18:9:18:35 | call to method WriteLine | Assert.cs:18:9:18:35 | call to method WriteLine | normal |
| Assert.cs:18:9:18:36 | ...; | Assert.cs:18:9:18:35 | call to method WriteLine | normal |
| Assert.cs:18:27:18:27 | access to local variable s | Assert.cs:18:27:18:27 | access to local variable s | normal |
@@ -366,8 +364,7 @@
| Assert.cs:24:9:24:27 | call to method IsNotNull | Assert.cs:24:9:24:27 | call to method IsNotNull | throw(AssertFailedException) |
| Assert.cs:24:9:24:28 | ...; | Assert.cs:24:9:24:27 | call to method IsNotNull | normal |
| Assert.cs:24:9:24:28 | ...; | Assert.cs:24:9:24:27 | call to method IsNotNull | throw(AssertFailedException) |
| Assert.cs:24:26:24:26 | access to local variable s | Assert.cs:24:26:24:26 | access to local variable s | non-null |
| Assert.cs:24:26:24:26 | access to local variable s | Assert.cs:24:26:24:26 | access to local variable s | null |
| Assert.cs:24:26:24:26 | access to local variable s | Assert.cs:24:26:24:26 | access to local variable s | normal |
| Assert.cs:25:9:25:35 | call to method WriteLine | Assert.cs:25:9:25:35 | call to method WriteLine | normal |
| Assert.cs:25:9:25:36 | ...; | Assert.cs:25:9:25:35 | call to method WriteLine | normal |
| Assert.cs:25:27:25:27 | access to local variable s | Assert.cs:25:27:25:27 | access to local variable s | normal |
@@ -386,8 +383,7 @@
| Assert.cs:31:9:31:33 | ...; | Assert.cs:31:9:31:32 | call to method IsTrue | normal |
| Assert.cs:31:9:31:33 | ...; | Assert.cs:31:9:31:32 | call to method IsTrue | throw(AssertFailedException) |
| Assert.cs:31:23:31:23 | access to local variable s | Assert.cs:31:23:31:23 | access to local variable s | normal |
| Assert.cs:31:23:31:31 | ... == ... | Assert.cs:31:23:31:31 | ... == ... | false |
| Assert.cs:31:23:31:31 | ... == ... | Assert.cs:31:23:31:31 | ... == ... | true |
| Assert.cs:31:23:31:31 | ... == ... | Assert.cs:31:23:31:31 | ... == ... | normal |
| Assert.cs:31:28:31:31 | null | Assert.cs:31:28:31:31 | null | normal |
| Assert.cs:32:9:32:35 | call to method WriteLine | Assert.cs:32:9:32:35 | call to method WriteLine | normal |
| Assert.cs:32:9:32:36 | ...; | Assert.cs:32:9:32:35 | call to method WriteLine | normal |
@@ -407,8 +403,7 @@
| Assert.cs:38:9:38:33 | ...; | Assert.cs:38:9:38:32 | call to method IsTrue | normal |
| Assert.cs:38:9:38:33 | ...; | Assert.cs:38:9:38:32 | call to method IsTrue | throw(AssertFailedException) |
| Assert.cs:38:23:38:23 | access to local variable s | Assert.cs:38:23:38:23 | access to local variable s | normal |
| Assert.cs:38:23:38:31 | ... != ... | Assert.cs:38:23:38:31 | ... != ... | false |
| Assert.cs:38:23:38:31 | ... != ... | Assert.cs:38:23:38:31 | ... != ... | true |
| Assert.cs:38:23:38:31 | ... != ... | Assert.cs:38:23:38:31 | ... != ... | normal |
| Assert.cs:38:28:38:31 | null | Assert.cs:38:28:38:31 | null | normal |
| Assert.cs:39:9:39:35 | call to method WriteLine | Assert.cs:39:9:39:35 | call to method WriteLine | normal |
| Assert.cs:39:9:39:36 | ...; | Assert.cs:39:9:39:35 | call to method WriteLine | normal |
@@ -428,8 +423,7 @@
| Assert.cs:45:9:45:34 | ...; | Assert.cs:45:9:45:33 | call to method IsFalse | normal |
| Assert.cs:45:9:45:34 | ...; | Assert.cs:45:9:45:33 | call to method IsFalse | throw(AssertFailedException) |
| Assert.cs:45:24:45:24 | access to local variable s | Assert.cs:45:24:45:24 | access to local variable s | normal |
| Assert.cs:45:24:45:32 | ... != ... | Assert.cs:45:24:45:32 | ... != ... | false |
| Assert.cs:45:24:45:32 | ... != ... | Assert.cs:45:24:45:32 | ... != ... | true |
| Assert.cs:45:24:45:32 | ... != ... | Assert.cs:45:24:45:32 | ... != ... | normal |
| Assert.cs:45:29:45:32 | null | Assert.cs:45:29:45:32 | null | normal |
| Assert.cs:46:9:46:35 | call to method WriteLine | Assert.cs:46:9:46:35 | call to method WriteLine | normal |
| Assert.cs:46:9:46:36 | ...; | Assert.cs:46:9:46:35 | call to method WriteLine | normal |
@@ -449,8 +443,7 @@
| Assert.cs:52:9:52:34 | ...; | Assert.cs:52:9:52:33 | call to method IsFalse | normal |
| Assert.cs:52:9:52:34 | ...; | Assert.cs:52:9:52:33 | call to method IsFalse | throw(AssertFailedException) |
| Assert.cs:52:24:52:24 | access to local variable s | Assert.cs:52:24:52:24 | access to local variable s | normal |
| Assert.cs:52:24:52:32 | ... == ... | Assert.cs:52:24:52:32 | ... == ... | false |
| Assert.cs:52:24:52:32 | ... == ... | Assert.cs:52:24:52:32 | ... == ... | true |
| Assert.cs:52:24:52:32 | ... == ... | Assert.cs:52:24:52:32 | ... == ... | normal |
| Assert.cs:52:29:52:32 | null | Assert.cs:52:29:52:32 | null | normal |
| Assert.cs:53:9:53:35 | call to method WriteLine | Assert.cs:53:9:53:35 | call to method WriteLine | normal |
| Assert.cs:53:9:53:36 | ...; | Assert.cs:53:9:53:35 | call to method WriteLine | normal |
@@ -472,11 +465,9 @@
| Assert.cs:59:23:59:23 | access to local variable s | Assert.cs:59:23:59:23 | access to local variable s | normal |
| Assert.cs:59:23:59:31 | ... != ... | Assert.cs:59:23:59:31 | ... != ... | false |
| Assert.cs:59:23:59:31 | ... != ... | Assert.cs:59:23:59:31 | ... != ... | true |
| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:59:23:59:36 | ... && ... | false |
| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:59:23:59:36 | ... && ... | true |
| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:59:23:59:36 | ... && ... | normal |
| Assert.cs:59:28:59:31 | null | Assert.cs:59:28:59:31 | null | normal |
| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:59:36:59:36 | access to parameter b | false |
| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:59:36:59:36 | access to parameter b | true |
| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:59:36:59:36 | access to parameter b | normal |
| Assert.cs:60:9:60:35 | call to method WriteLine | Assert.cs:60:9:60:35 | call to method WriteLine | normal |
| Assert.cs:60:9:60:36 | ...; | Assert.cs:60:9:60:35 | call to method WriteLine | normal |
| Assert.cs:60:27:60:27 | access to local variable s | Assert.cs:60:27:60:27 | access to local variable s | normal |
@@ -497,11 +488,9 @@
| Assert.cs:66:24:66:24 | access to local variable s | Assert.cs:66:24:66:24 | access to local variable s | normal |
| Assert.cs:66:24:66:32 | ... == ... | Assert.cs:66:24:66:32 | ... == ... | false |
| Assert.cs:66:24:66:32 | ... == ... | Assert.cs:66:24:66:32 | ... == ... | true |
| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:66:24:66:37 | ... \|\| ... | false |
| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:66:24:66:37 | ... \|\| ... | true |
| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:66:24:66:37 | ... \|\| ... | normal |
| Assert.cs:66:29:66:32 | null | Assert.cs:66:29:66:32 | null | normal |
| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:66:37:66:37 | access to parameter b | false |
| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:66:37:66:37 | access to parameter b | true |
| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:66:37:66:37 | access to parameter b | normal |
| Assert.cs:67:9:67:35 | call to method WriteLine | Assert.cs:67:9:67:35 | call to method WriteLine | normal |
| Assert.cs:67:9:67:36 | ...; | Assert.cs:67:9:67:35 | call to method WriteLine | normal |
| Assert.cs:67:27:67:27 | access to local variable s | Assert.cs:67:27:67:27 | access to local variable s | normal |
@@ -522,11 +511,9 @@
| Assert.cs:73:23:73:23 | access to local variable s | Assert.cs:73:23:73:23 | access to local variable s | normal |
| Assert.cs:73:23:73:31 | ... == ... | Assert.cs:73:23:73:31 | ... == ... | false |
| Assert.cs:73:23:73:31 | ... == ... | Assert.cs:73:23:73:31 | ... == ... | true |
| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:73:23:73:36 | ... && ... | false |
| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:73:23:73:36 | ... && ... | true |
| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:73:23:73:36 | ... && ... | normal |
| Assert.cs:73:28:73:31 | null | Assert.cs:73:28:73:31 | null | normal |
| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:73:36:73:36 | access to parameter b | false |
| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:73:36:73:36 | access to parameter b | true |
| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:73:36:73:36 | access to parameter b | normal |
| Assert.cs:74:9:74:35 | call to method WriteLine | Assert.cs:74:9:74:35 | call to method WriteLine | normal |
| Assert.cs:74:9:74:36 | ...; | Assert.cs:74:9:74:35 | call to method WriteLine | normal |
| Assert.cs:74:27:74:27 | access to local variable s | Assert.cs:74:27:74:27 | access to local variable s | normal |
@@ -547,11 +534,9 @@
| Assert.cs:80:24:80:24 | access to local variable s | Assert.cs:80:24:80:24 | access to local variable s | normal |
| Assert.cs:80:24:80:32 | ... != ... | Assert.cs:80:24:80:32 | ... != ... | false |
| Assert.cs:80:24:80:32 | ... != ... | Assert.cs:80:24:80:32 | ... != ... | true |
| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:80:24:80:37 | ... \|\| ... | false |
| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:80:24:80:37 | ... \|\| ... | true |
| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:80:24:80:37 | ... \|\| ... | normal |
| Assert.cs:80:29:80:32 | null | Assert.cs:80:29:80:32 | null | normal |
| Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:80:37:80:37 | access to parameter b | false |
| Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:80:37:80:37 | access to parameter b | true |
| Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:80:37:80:37 | access to parameter b | normal |
| Assert.cs:81:9:81:35 | call to method WriteLine | Assert.cs:81:9:81:35 | call to method WriteLine | normal |
| Assert.cs:81:9:81:36 | ...; | Assert.cs:81:9:81:35 | call to method WriteLine | normal |
| Assert.cs:81:27:81:27 | access to local variable s | Assert.cs:81:27:81:27 | access to local variable s | normal |
@@ -580,8 +565,7 @@
| Assert.cs:87:9:87:32 | ...; | Assert.cs:87:9:87:31 | call to method Assert | exit |
| Assert.cs:87:9:87:32 | ...; | Assert.cs:87:9:87:31 | call to method Assert | normal |
| Assert.cs:87:22:87:22 | access to local variable s | Assert.cs:87:22:87:22 | access to local variable s | normal |
| Assert.cs:87:22:87:30 | ... != ... | Assert.cs:87:22:87:30 | ... != ... | false |
| Assert.cs:87:22:87:30 | ... != ... | Assert.cs:87:22:87:30 | ... != ... | true |
| Assert.cs:87:22:87:30 | ... != ... | Assert.cs:87:22:87:30 | ... != ... | normal |
| Assert.cs:87:27:87:30 | null | Assert.cs:87:27:87:30 | null | normal |
| Assert.cs:88:9:88:35 | call to method WriteLine | Assert.cs:88:9:88:35 | call to method WriteLine | normal |
| Assert.cs:88:9:88:36 | ...; | Assert.cs:88:9:88:35 | call to method WriteLine | normal |
@@ -598,8 +582,7 @@
| Assert.cs:91:9:91:24 | call to method IsNull | Assert.cs:91:9:91:24 | call to method IsNull | throw(AssertFailedException) |
| Assert.cs:91:9:91:25 | ...; | Assert.cs:91:9:91:24 | call to method IsNull | normal |
| Assert.cs:91:9:91:25 | ...; | Assert.cs:91:9:91:24 | call to method IsNull | throw(AssertFailedException) |
| Assert.cs:91:23:91:23 | access to local variable s | Assert.cs:91:23:91:23 | access to local variable s | non-null |
| Assert.cs:91:23:91:23 | access to local variable s | Assert.cs:91:23:91:23 | access to local variable s | null |
| Assert.cs:91:23:91:23 | access to local variable s | Assert.cs:91:23:91:23 | access to local variable s | normal |
| Assert.cs:92:9:92:35 | call to method WriteLine | Assert.cs:92:9:92:35 | call to method WriteLine | normal |
| Assert.cs:92:9:92:36 | ...; | Assert.cs:92:9:92:35 | call to method WriteLine | normal |
| Assert.cs:92:27:92:27 | access to local variable s | Assert.cs:92:27:92:27 | access to local variable s | normal |
@@ -615,8 +598,7 @@
| Assert.cs:95:9:95:27 | call to method IsNotNull | Assert.cs:95:9:95:27 | call to method IsNotNull | throw(AssertFailedException) |
| Assert.cs:95:9:95:28 | ...; | Assert.cs:95:9:95:27 | call to method IsNotNull | normal |
| Assert.cs:95:9:95:28 | ...; | Assert.cs:95:9:95:27 | call to method IsNotNull | throw(AssertFailedException) |
| Assert.cs:95:26:95:26 | access to local variable s | Assert.cs:95:26:95:26 | access to local variable s | non-null |
| Assert.cs:95:26:95:26 | access to local variable s | Assert.cs:95:26:95:26 | access to local variable s | null |
| Assert.cs:95:26:95:26 | access to local variable s | Assert.cs:95:26:95:26 | access to local variable s | normal |
| Assert.cs:96:9:96:35 | call to method WriteLine | Assert.cs:96:9:96:35 | call to method WriteLine | normal |
| Assert.cs:96:9:96:36 | ...; | Assert.cs:96:9:96:35 | call to method WriteLine | normal |
| Assert.cs:96:27:96:27 | access to local variable s | Assert.cs:96:27:96:27 | access to local variable s | normal |
@@ -633,8 +615,7 @@
| Assert.cs:99:9:99:33 | ...; | Assert.cs:99:9:99:32 | call to method IsTrue | normal |
| Assert.cs:99:9:99:33 | ...; | Assert.cs:99:9:99:32 | call to method IsTrue | throw(AssertFailedException) |
| Assert.cs:99:23:99:23 | access to local variable s | Assert.cs:99:23:99:23 | access to local variable s | normal |
| Assert.cs:99:23:99:31 | ... == ... | Assert.cs:99:23:99:31 | ... == ... | false |
| Assert.cs:99:23:99:31 | ... == ... | Assert.cs:99:23:99:31 | ... == ... | true |
| Assert.cs:99:23:99:31 | ... == ... | Assert.cs:99:23:99:31 | ... == ... | normal |
| Assert.cs:99:28:99:31 | null | Assert.cs:99:28:99:31 | null | normal |
| Assert.cs:100:9:100:35 | call to method WriteLine | Assert.cs:100:9:100:35 | call to method WriteLine | normal |
| Assert.cs:100:9:100:36 | ...; | Assert.cs:100:9:100:35 | call to method WriteLine | normal |
@@ -652,8 +633,7 @@
| Assert.cs:103:9:103:33 | ...; | Assert.cs:103:9:103:32 | call to method IsTrue | normal |
| Assert.cs:103:9:103:33 | ...; | Assert.cs:103:9:103:32 | call to method IsTrue | throw(AssertFailedException) |
| Assert.cs:103:23:103:23 | access to local variable s | Assert.cs:103:23:103:23 | access to local variable s | normal |
| Assert.cs:103:23:103:31 | ... != ... | Assert.cs:103:23:103:31 | ... != ... | false |
| Assert.cs:103:23:103:31 | ... != ... | Assert.cs:103:23:103:31 | ... != ... | true |
| Assert.cs:103:23:103:31 | ... != ... | Assert.cs:103:23:103:31 | ... != ... | normal |
| Assert.cs:103:28:103:31 | null | Assert.cs:103:28:103:31 | null | normal |
| Assert.cs:104:9:104:35 | call to method WriteLine | Assert.cs:104:9:104:35 | call to method WriteLine | normal |
| Assert.cs:104:9:104:36 | ...; | Assert.cs:104:9:104:35 | call to method WriteLine | normal |
@@ -671,8 +651,7 @@
| Assert.cs:107:9:107:34 | ...; | Assert.cs:107:9:107:33 | call to method IsFalse | normal |
| Assert.cs:107:9:107:34 | ...; | Assert.cs:107:9:107:33 | call to method IsFalse | throw(AssertFailedException) |
| Assert.cs:107:24:107:24 | access to local variable s | Assert.cs:107:24:107:24 | access to local variable s | normal |
| Assert.cs:107:24:107:32 | ... != ... | Assert.cs:107:24:107:32 | ... != ... | false |
| Assert.cs:107:24:107:32 | ... != ... | Assert.cs:107:24:107:32 | ... != ... | true |
| Assert.cs:107:24:107:32 | ... != ... | Assert.cs:107:24:107:32 | ... != ... | normal |
| Assert.cs:107:29:107:32 | null | Assert.cs:107:29:107:32 | null | normal |
| Assert.cs:108:9:108:35 | call to method WriteLine | Assert.cs:108:9:108:35 | call to method WriteLine | normal |
| Assert.cs:108:9:108:36 | ...; | Assert.cs:108:9:108:35 | call to method WriteLine | normal |
@@ -690,8 +669,7 @@
| Assert.cs:111:9:111:34 | ...; | Assert.cs:111:9:111:33 | call to method IsFalse | normal |
| Assert.cs:111:9:111:34 | ...; | Assert.cs:111:9:111:33 | call to method IsFalse | throw(AssertFailedException) |
| Assert.cs:111:24:111:24 | access to local variable s | Assert.cs:111:24:111:24 | access to local variable s | normal |
| Assert.cs:111:24:111:32 | ... == ... | Assert.cs:111:24:111:32 | ... == ... | false |
| Assert.cs:111:24:111:32 | ... == ... | Assert.cs:111:24:111:32 | ... == ... | true |
| Assert.cs:111:24:111:32 | ... == ... | Assert.cs:111:24:111:32 | ... == ... | normal |
| Assert.cs:111:29:111:32 | null | Assert.cs:111:29:111:32 | null | normal |
| Assert.cs:112:9:112:35 | call to method WriteLine | Assert.cs:112:9:112:35 | call to method WriteLine | normal |
| Assert.cs:112:9:112:36 | ...; | Assert.cs:112:9:112:35 | call to method WriteLine | normal |
@@ -711,11 +689,9 @@
| Assert.cs:115:23:115:23 | access to local variable s | Assert.cs:115:23:115:23 | access to local variable s | normal |
| Assert.cs:115:23:115:31 | ... != ... | Assert.cs:115:23:115:31 | ... != ... | false |
| Assert.cs:115:23:115:31 | ... != ... | Assert.cs:115:23:115:31 | ... != ... | true |
| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:115:23:115:36 | ... && ... | false |
| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:115:23:115:36 | ... && ... | true |
| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:115:23:115:36 | ... && ... | normal |
| Assert.cs:115:28:115:31 | null | Assert.cs:115:28:115:31 | null | normal |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:115:36:115:36 | access to parameter b | false |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:115:36:115:36 | access to parameter b | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:115:36:115:36 | access to parameter b | normal |
| Assert.cs:116:9:116:35 | call to method WriteLine | Assert.cs:116:9:116:35 | call to method WriteLine | normal |
| Assert.cs:116:9:116:36 | ...; | Assert.cs:116:9:116:35 | call to method WriteLine | normal |
| Assert.cs:116:27:116:27 | access to local variable s | Assert.cs:116:27:116:27 | access to local variable s | normal |
@@ -734,13 +710,10 @@
| Assert.cs:119:24:119:24 | access to local variable s | Assert.cs:119:24:119:24 | access to local variable s | normal |
| Assert.cs:119:24:119:32 | ... == ... | Assert.cs:119:24:119:32 | ... == ... | false |
| Assert.cs:119:24:119:32 | ... == ... | Assert.cs:119:24:119:32 | ... == ... | true |
| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:119:24:119:38 | ... \|\| ... | false |
| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:119:24:119:38 | ... \|\| ... | true |
| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:119:24:119:38 | ... \|\| ... | normal |
| Assert.cs:119:29:119:32 | null | Assert.cs:119:29:119:32 | null | normal |
| Assert.cs:119:37:119:38 | !... | Assert.cs:119:37:119:38 | !... | false |
| Assert.cs:119:37:119:38 | !... | Assert.cs:119:37:119:38 | !... | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:38:119:38 | access to parameter b | false |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:38:119:38 | access to parameter b | true |
| Assert.cs:119:37:119:38 | !... | Assert.cs:119:37:119:38 | !... | normal |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:38:119:38 | access to parameter b | normal |
| Assert.cs:120:9:120:35 | call to method WriteLine | Assert.cs:120:9:120:35 | call to method WriteLine | normal |
| Assert.cs:120:9:120:36 | ...; | Assert.cs:120:9:120:35 | call to method WriteLine | normal |
| Assert.cs:120:27:120:27 | access to local variable s | Assert.cs:120:27:120:27 | access to local variable s | normal |
@@ -759,11 +732,9 @@
| Assert.cs:123:23:123:23 | access to local variable s | Assert.cs:123:23:123:23 | access to local variable s | normal |
| Assert.cs:123:23:123:31 | ... == ... | Assert.cs:123:23:123:31 | ... == ... | false |
| Assert.cs:123:23:123:31 | ... == ... | Assert.cs:123:23:123:31 | ... == ... | true |
| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:123:23:123:36 | ... && ... | false |
| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:123:23:123:36 | ... && ... | true |
| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:123:23:123:36 | ... && ... | normal |
| Assert.cs:123:28:123:31 | null | Assert.cs:123:28:123:31 | null | normal |
| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:123:36:123:36 | access to parameter b | false |
| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:123:36:123:36 | access to parameter b | true |
| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:123:36:123:36 | access to parameter b | normal |
| Assert.cs:124:9:124:35 | call to method WriteLine | Assert.cs:124:9:124:35 | call to method WriteLine | normal |
| Assert.cs:124:9:124:36 | ...; | Assert.cs:124:9:124:35 | call to method WriteLine | normal |
| Assert.cs:124:27:124:27 | access to local variable s | Assert.cs:124:27:124:27 | access to local variable s | normal |
@@ -782,13 +753,10 @@
| Assert.cs:127:24:127:24 | access to local variable s | Assert.cs:127:24:127:24 | access to local variable s | normal |
| Assert.cs:127:24:127:32 | ... != ... | Assert.cs:127:24:127:32 | ... != ... | false |
| Assert.cs:127:24:127:32 | ... != ... | Assert.cs:127:24:127:32 | ... != ... | true |
| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:127:24:127:38 | ... \|\| ... | false |
| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:127:24:127:38 | ... \|\| ... | true |
| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:127:24:127:38 | ... \|\| ... | normal |
| Assert.cs:127:29:127:32 | null | Assert.cs:127:29:127:32 | null | normal |
| Assert.cs:127:37:127:38 | !... | Assert.cs:127:37:127:38 | !... | false |
| Assert.cs:127:37:127:38 | !... | Assert.cs:127:37:127:38 | !... | true |
| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:38:127:38 | access to parameter b | false |
| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:38:127:38 | access to parameter b | true |
| Assert.cs:127:37:127:38 | !... | Assert.cs:127:37:127:38 | !... | normal |
| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:38:127:38 | access to parameter b | normal |
| Assert.cs:128:9:128:35 | call to method WriteLine | Assert.cs:128:9:128:35 | call to method WriteLine | normal |
| Assert.cs:128:9:128:36 | ...; | Assert.cs:128:9:128:35 | call to method WriteLine | normal |
| Assert.cs:128:27:128:27 | access to local variable s | Assert.cs:128:27:128:27 | access to local variable s | normal |
@@ -801,10 +769,8 @@
| Assert.cs:140:9:140:35 | this access | Assert.cs:140:9:140:35 | this access | normal |
| Assert.cs:140:9:140:36 | ...; | Assert.cs:140:9:140:35 | call to method AssertTrueFalse | normal |
| Assert.cs:140:9:140:36 | ...; | Assert.cs:140:9:140:35 | call to method AssertTrueFalse | throw(Exception) |
| Assert.cs:140:25:140:26 | access to parameter b1 | Assert.cs:140:25:140:26 | access to parameter b1 | false |
| Assert.cs:140:25:140:26 | access to parameter b1 | Assert.cs:140:25:140:26 | access to parameter b1 | true |
| Assert.cs:140:29:140:30 | access to parameter b2 | Assert.cs:140:29:140:30 | access to parameter b2 | false |
| Assert.cs:140:29:140:30 | access to parameter b2 | Assert.cs:140:29:140:30 | access to parameter b2 | true |
| Assert.cs:140:25:140:26 | access to parameter b1 | Assert.cs:140:25:140:26 | access to parameter b1 | normal |
| Assert.cs:140:29:140:30 | access to parameter b2 | Assert.cs:140:29:140:30 | access to parameter b2 | normal |
| Assert.cs:140:33:140:34 | access to parameter b3 | Assert.cs:140:33:140:34 | access to parameter b3 | normal |
| Assert.cs:141:9:141:15 | return ...; | Assert.cs:141:9:141:15 | return ...; | return |
| Assignments.cs:1:7:1:17 | call to constructor Object | Assignments.cs:1:7:1:17 | call to constructor Object | normal |
@@ -1593,7 +1559,7 @@
| ExitMethods.cs:121:5:124:5 | {...} | ExitMethods.cs:123:13:123:17 | Int32 x = ... | normal |
| ExitMethods.cs:122:9:122:28 | call to method IsTrue | ExitMethods.cs:122:9:122:28 | call to method IsTrue | throw(AssertFailedException) |
| ExitMethods.cs:122:9:122:29 | ...; | ExitMethods.cs:122:9:122:28 | call to method IsTrue | throw(AssertFailedException) |
| ExitMethods.cs:122:23:122:27 | false | ExitMethods.cs:122:23:122:27 | false | false |
| ExitMethods.cs:122:23:122:27 | false | ExitMethods.cs:122:23:122:27 | false | normal |
| ExitMethods.cs:123:9:123:18 | ... ...; | ExitMethods.cs:123:13:123:17 | Int32 x = ... | normal |
| ExitMethods.cs:123:13:123:17 | Int32 x = ... | ExitMethods.cs:123:13:123:17 | Int32 x = ... | normal |
| ExitMethods.cs:123:17:123:17 | 0 | ExitMethods.cs:123:17:123:17 | 0 | normal |
@@ -1607,14 +1573,13 @@
| ExitMethods.cs:129:17:129:17 | 0 | ExitMethods.cs:129:17:129:17 | 0 | normal |
| ExitMethods.cs:132:33:132:49 | call to method IsFalse | ExitMethods.cs:132:33:132:49 | call to method IsFalse | normal |
| ExitMethods.cs:132:33:132:49 | call to method IsFalse | ExitMethods.cs:132:33:132:49 | call to method IsFalse | throw(AssertFailedException) |
| ExitMethods.cs:132:48:132:48 | access to parameter b | ExitMethods.cs:132:48:132:48 | access to parameter b | false |
| ExitMethods.cs:132:48:132:48 | access to parameter b | ExitMethods.cs:132:48:132:48 | access to parameter b | true |
| ExitMethods.cs:132:48:132:48 | access to parameter b | ExitMethods.cs:132:48:132:48 | access to parameter b | normal |
| ExitMethods.cs:135:5:138:5 | {...} | ExitMethods.cs:136:9:136:25 | call to method AssertFalse | throw(AssertFailedException) |
| ExitMethods.cs:135:5:138:5 | {...} | ExitMethods.cs:137:13:137:17 | Int32 x = ... | normal |
| ExitMethods.cs:136:9:136:25 | call to method AssertFalse | ExitMethods.cs:136:9:136:25 | call to method AssertFalse | throw(AssertFailedException) |
| ExitMethods.cs:136:9:136:25 | this access | ExitMethods.cs:136:9:136:25 | this access | normal |
| ExitMethods.cs:136:9:136:26 | ...; | ExitMethods.cs:136:9:136:25 | call to method AssertFalse | throw(AssertFailedException) |
| ExitMethods.cs:136:21:136:24 | true | ExitMethods.cs:136:21:136:24 | true | true |
| ExitMethods.cs:136:21:136:24 | true | ExitMethods.cs:136:21:136:24 | true | normal |
| ExitMethods.cs:137:9:137:18 | ... ...; | ExitMethods.cs:137:13:137:17 | Int32 x = ... | normal |
| ExitMethods.cs:137:13:137:17 | Int32 x = ... | ExitMethods.cs:137:13:137:17 | Int32 x = ... | normal |
| ExitMethods.cs:137:17:137:17 | 0 | ExitMethods.cs:137:17:137:17 | 0 | normal |

View File

@@ -350,12 +350,11 @@
| Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:9:16:9:32 | String s = ... | |
| Assert.cs:9:24:9:27 | null | Assert.cs:9:20:9:32 | ... ? ... : ... | |
| Assert.cs:9:31:9:32 | "" | Assert.cs:9:20:9:32 | ... ? ... : ... | |
| Assert.cs:10:9:10:31 | [assertion failure] call to method Assert | Assert.cs:7:10:7:11 | exit M1 (abnormal) | exit |
| Assert.cs:10:9:10:31 | [assertion success] call to method Assert | Assert.cs:11:9:11:36 | ...; | |
| Assert.cs:10:9:10:31 | call to method Assert | Assert.cs:7:10:7:11 | exit M1 (abnormal) | exit |
| Assert.cs:10:9:10:31 | call to method Assert | Assert.cs:11:9:11:36 | ...; | |
| Assert.cs:10:9:10:32 | ...; | Assert.cs:10:22:10:22 | access to local variable s | |
| Assert.cs:10:22:10:22 | access to local variable s | Assert.cs:10:27:10:30 | null | |
| Assert.cs:10:22:10:30 | ... != ... | Assert.cs:10:9:10:31 | [assertion failure] call to method Assert | false |
| Assert.cs:10:22:10:30 | ... != ... | Assert.cs:10:9:10:31 | [assertion success] call to method Assert | true |
| Assert.cs:10:22:10:30 | ... != ... | Assert.cs:10:9:10:31 | call to method Assert | |
| Assert.cs:10:27:10:30 | null | Assert.cs:10:22:10:30 | ... != ... | |
| Assert.cs:11:9:11:35 | call to method WriteLine | Assert.cs:7:10:7:11 | exit M1 (normal) | |
| Assert.cs:11:9:11:36 | ...; | Assert.cs:11:27:11:27 | access to local variable s | |
@@ -372,11 +371,10 @@
| Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:16:16:16:32 | String s = ... | |
| Assert.cs:16:24:16:27 | null | Assert.cs:16:20:16:32 | ... ? ... : ... | |
| Assert.cs:16:31:16:32 | "" | Assert.cs:16:20:16:32 | ... ? ... : ... | |
| Assert.cs:17:9:17:24 | [assertion failure] call to method IsNull | Assert.cs:14:10:14:11 | exit M2 (abnormal) | exception |
| Assert.cs:17:9:17:24 | [assertion success] call to method IsNull | Assert.cs:18:9:18:36 | ...; | |
| Assert.cs:17:9:17:24 | call to method IsNull | Assert.cs:14:10:14:11 | exit M2 (abnormal) | exception |
| Assert.cs:17:9:17:24 | call to method IsNull | Assert.cs:18:9:18:36 | ...; | |
| Assert.cs:17:9:17:25 | ...; | Assert.cs:17:23:17:23 | access to local variable s | |
| Assert.cs:17:23:17:23 | access to local variable s | Assert.cs:17:9:17:24 | [assertion failure] call to method IsNull | non-null |
| Assert.cs:17:23:17:23 | access to local variable s | Assert.cs:17:9:17:24 | [assertion success] call to method IsNull | null |
| Assert.cs:17:23:17:23 | access to local variable s | Assert.cs:17:9:17:24 | call to method IsNull | |
| Assert.cs:18:9:18:35 | call to method WriteLine | Assert.cs:14:10:14:11 | exit M2 (normal) | |
| Assert.cs:18:9:18:36 | ...; | Assert.cs:18:27:18:27 | access to local variable s | |
| Assert.cs:18:27:18:27 | access to local variable s | Assert.cs:18:27:18:34 | access to property Length | |
@@ -392,11 +390,10 @@
| Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:23:16:23:32 | String s = ... | |
| Assert.cs:23:24:23:27 | null | Assert.cs:23:20:23:32 | ... ? ... : ... | |
| Assert.cs:23:31:23:32 | "" | Assert.cs:23:20:23:32 | ... ? ... : ... | |
| Assert.cs:24:9:24:27 | [assertion failure] call to method IsNotNull | Assert.cs:21:10:21:11 | exit M3 (abnormal) | exception |
| Assert.cs:24:9:24:27 | [assertion success] call to method IsNotNull | Assert.cs:25:9:25:36 | ...; | |
| Assert.cs:24:9:24:27 | call to method IsNotNull | Assert.cs:21:10:21:11 | exit M3 (abnormal) | exception |
| Assert.cs:24:9:24:27 | call to method IsNotNull | Assert.cs:25:9:25:36 | ...; | |
| Assert.cs:24:9:24:28 | ...; | Assert.cs:24:26:24:26 | access to local variable s | |
| Assert.cs:24:26:24:26 | access to local variable s | Assert.cs:24:9:24:27 | [assertion failure] call to method IsNotNull | null |
| Assert.cs:24:26:24:26 | access to local variable s | Assert.cs:24:9:24:27 | [assertion success] call to method IsNotNull | non-null |
| Assert.cs:24:26:24:26 | access to local variable s | Assert.cs:24:9:24:27 | call to method IsNotNull | |
| Assert.cs:25:9:25:35 | call to method WriteLine | Assert.cs:21:10:21:11 | exit M3 (normal) | |
| Assert.cs:25:9:25:36 | ...; | Assert.cs:25:27:25:27 | access to local variable s | |
| Assert.cs:25:27:25:27 | access to local variable s | Assert.cs:25:27:25:34 | access to property Length | |
@@ -412,12 +409,11 @@
| Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:30:16:30:32 | String s = ... | |
| Assert.cs:30:24:30:27 | null | Assert.cs:30:20:30:32 | ... ? ... : ... | |
| Assert.cs:30:31:30:32 | "" | Assert.cs:30:20:30:32 | ... ? ... : ... | |
| Assert.cs:31:9:31:32 | [assertion failure] call to method IsTrue | Assert.cs:28:10:28:11 | exit M4 (abnormal) | exception |
| Assert.cs:31:9:31:32 | [assertion success] call to method IsTrue | Assert.cs:32:9:32:36 | ...; | |
| Assert.cs:31:9:31:32 | call to method IsTrue | Assert.cs:28:10:28:11 | exit M4 (abnormal) | exception |
| Assert.cs:31:9:31:32 | call to method IsTrue | Assert.cs:32:9:32:36 | ...; | |
| Assert.cs:31:9:31:33 | ...; | Assert.cs:31:23:31:23 | access to local variable s | |
| Assert.cs:31:23:31:23 | access to local variable s | Assert.cs:31:28:31:31 | null | |
| Assert.cs:31:23:31:31 | ... == ... | Assert.cs:31:9:31:32 | [assertion failure] call to method IsTrue | false |
| Assert.cs:31:23:31:31 | ... == ... | Assert.cs:31:9:31:32 | [assertion success] call to method IsTrue | true |
| Assert.cs:31:23:31:31 | ... == ... | Assert.cs:31:9:31:32 | call to method IsTrue | |
| Assert.cs:31:28:31:31 | null | Assert.cs:31:23:31:31 | ... == ... | |
| Assert.cs:32:9:32:35 | call to method WriteLine | Assert.cs:28:10:28:11 | exit M4 (normal) | |
| Assert.cs:32:9:32:36 | ...; | Assert.cs:32:27:32:27 | access to local variable s | |
@@ -434,12 +430,11 @@
| Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:37:16:37:32 | String s = ... | |
| Assert.cs:37:24:37:27 | null | Assert.cs:37:20:37:32 | ... ? ... : ... | |
| Assert.cs:37:31:37:32 | "" | Assert.cs:37:20:37:32 | ... ? ... : ... | |
| Assert.cs:38:9:38:32 | [assertion failure] call to method IsTrue | Assert.cs:35:10:35:11 | exit M5 (abnormal) | exception |
| Assert.cs:38:9:38:32 | [assertion success] call to method IsTrue | Assert.cs:39:9:39:36 | ...; | |
| Assert.cs:38:9:38:32 | call to method IsTrue | Assert.cs:35:10:35:11 | exit M5 (abnormal) | exception |
| Assert.cs:38:9:38:32 | call to method IsTrue | Assert.cs:39:9:39:36 | ...; | |
| Assert.cs:38:9:38:33 | ...; | Assert.cs:38:23:38:23 | access to local variable s | |
| Assert.cs:38:23:38:23 | access to local variable s | Assert.cs:38:28:38:31 | null | |
| Assert.cs:38:23:38:31 | ... != ... | Assert.cs:38:9:38:32 | [assertion failure] call to method IsTrue | false |
| Assert.cs:38:23:38:31 | ... != ... | Assert.cs:38:9:38:32 | [assertion success] call to method IsTrue | true |
| Assert.cs:38:23:38:31 | ... != ... | Assert.cs:38:9:38:32 | call to method IsTrue | |
| Assert.cs:38:28:38:31 | null | Assert.cs:38:23:38:31 | ... != ... | |
| Assert.cs:39:9:39:35 | call to method WriteLine | Assert.cs:35:10:35:11 | exit M5 (normal) | |
| Assert.cs:39:9:39:36 | ...; | Assert.cs:39:27:39:27 | access to local variable s | |
@@ -456,12 +451,11 @@
| Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:44:16:44:32 | String s = ... | |
| Assert.cs:44:24:44:27 | null | Assert.cs:44:20:44:32 | ... ? ... : ... | |
| Assert.cs:44:31:44:32 | "" | Assert.cs:44:20:44:32 | ... ? ... : ... | |
| Assert.cs:45:9:45:33 | [assertion failure] call to method IsFalse | Assert.cs:42:10:42:11 | exit M6 (abnormal) | exception |
| Assert.cs:45:9:45:33 | [assertion success] call to method IsFalse | Assert.cs:46:9:46:36 | ...; | |
| Assert.cs:45:9:45:33 | call to method IsFalse | Assert.cs:42:10:42:11 | exit M6 (abnormal) | exception |
| Assert.cs:45:9:45:33 | call to method IsFalse | Assert.cs:46:9:46:36 | ...; | |
| Assert.cs:45:9:45:34 | ...; | Assert.cs:45:24:45:24 | access to local variable s | |
| Assert.cs:45:24:45:24 | access to local variable s | Assert.cs:45:29:45:32 | null | |
| Assert.cs:45:24:45:32 | ... != ... | Assert.cs:45:9:45:33 | [assertion failure] call to method IsFalse | true |
| Assert.cs:45:24:45:32 | ... != ... | Assert.cs:45:9:45:33 | [assertion success] call to method IsFalse | false |
| Assert.cs:45:24:45:32 | ... != ... | Assert.cs:45:9:45:33 | call to method IsFalse | |
| Assert.cs:45:29:45:32 | null | Assert.cs:45:24:45:32 | ... != ... | |
| Assert.cs:46:9:46:35 | call to method WriteLine | Assert.cs:42:10:42:11 | exit M6 (normal) | |
| Assert.cs:46:9:46:36 | ...; | Assert.cs:46:27:46:27 | access to local variable s | |
@@ -478,12 +472,11 @@
| Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:51:16:51:32 | String s = ... | |
| Assert.cs:51:24:51:27 | null | Assert.cs:51:20:51:32 | ... ? ... : ... | |
| Assert.cs:51:31:51:32 | "" | Assert.cs:51:20:51:32 | ... ? ... : ... | |
| Assert.cs:52:9:52:33 | [assertion failure] call to method IsFalse | Assert.cs:49:10:49:11 | exit M7 (abnormal) | exception |
| Assert.cs:52:9:52:33 | [assertion success] call to method IsFalse | Assert.cs:53:9:53:36 | ...; | |
| Assert.cs:52:9:52:33 | call to method IsFalse | Assert.cs:49:10:49:11 | exit M7 (abnormal) | exception |
| Assert.cs:52:9:52:33 | call to method IsFalse | Assert.cs:53:9:53:36 | ...; | |
| Assert.cs:52:9:52:34 | ...; | Assert.cs:52:24:52:24 | access to local variable s | |
| Assert.cs:52:24:52:24 | access to local variable s | Assert.cs:52:29:52:32 | null | |
| Assert.cs:52:24:52:32 | ... == ... | Assert.cs:52:9:52:33 | [assertion failure] call to method IsFalse | true |
| Assert.cs:52:24:52:32 | ... == ... | Assert.cs:52:9:52:33 | [assertion success] call to method IsFalse | false |
| Assert.cs:52:24:52:32 | ... == ... | Assert.cs:52:9:52:33 | call to method IsFalse | |
| Assert.cs:52:29:52:32 | null | Assert.cs:52:24:52:32 | ... == ... | |
| Assert.cs:53:9:53:35 | call to method WriteLine | Assert.cs:49:10:49:11 | exit M7 (normal) | |
| Assert.cs:53:9:53:36 | ...; | Assert.cs:53:27:53:27 | access to local variable s | |
@@ -500,17 +493,15 @@
| Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:58:16:58:32 | String s = ... | |
| Assert.cs:58:24:58:27 | null | Assert.cs:58:20:58:32 | ... ? ... : ... | |
| Assert.cs:58:31:58:32 | "" | Assert.cs:58:20:58:32 | ... ? ... : ... | |
| Assert.cs:59:9:59:37 | [assertion failure] call to method IsTrue | Assert.cs:56:10:56:11 | exit M8 (abnormal) | exception |
| Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | Assert.cs:60:9:60:36 | ...; | |
| Assert.cs:59:9:59:37 | call to method IsTrue | Assert.cs:56:10:56:11 | exit M8 (abnormal) | exception |
| Assert.cs:59:9:59:37 | call to method IsTrue | Assert.cs:60:9:60:36 | ...; | |
| Assert.cs:59:9:59:38 | ...; | Assert.cs:59:23:59:23 | access to local variable s | |
| Assert.cs:59:23:59:23 | access to local variable s | Assert.cs:59:28:59:31 | null | |
| Assert.cs:59:23:59:31 | ... != ... | Assert.cs:59:23:59:36 | [false] ... && ... | false |
| Assert.cs:59:23:59:31 | ... != ... | Assert.cs:59:23:59:36 | ... && ... | false |
| Assert.cs:59:23:59:31 | ... != ... | Assert.cs:59:36:59:36 | access to parameter b | true |
| Assert.cs:59:23:59:36 | [false] ... && ... | Assert.cs:59:9:59:37 | [assertion failure] call to method IsTrue | false |
| Assert.cs:59:23:59:36 | [true] ... && ... | Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:59:9:59:37 | call to method IsTrue | |
| Assert.cs:59:28:59:31 | null | Assert.cs:59:23:59:31 | ... != ... | |
| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:59:23:59:36 | [false] ... && ... | false |
| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:59:23:59:36 | [true] ... && ... | true |
| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:59:23:59:36 | ... && ... | |
| Assert.cs:60:9:60:35 | call to method WriteLine | Assert.cs:56:10:56:11 | exit M8 (normal) | |
| Assert.cs:60:9:60:36 | ...; | Assert.cs:60:27:60:27 | access to local variable s | |
| Assert.cs:60:27:60:27 | access to local variable s | Assert.cs:60:27:60:34 | access to property Length | |
@@ -526,17 +517,15 @@
| Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:65:16:65:32 | String s = ... | |
| Assert.cs:65:24:65:27 | null | Assert.cs:65:20:65:32 | ... ? ... : ... | |
| Assert.cs:65:31:65:32 | "" | Assert.cs:65:20:65:32 | ... ? ... : ... | |
| Assert.cs:66:9:66:38 | [assertion failure] call to method IsFalse | Assert.cs:63:10:63:11 | exit M9 (abnormal) | exception |
| Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | Assert.cs:67:9:67:36 | ...; | |
| Assert.cs:66:9:66:38 | call to method IsFalse | Assert.cs:63:10:63:11 | exit M9 (abnormal) | exception |
| Assert.cs:66:9:66:38 | call to method IsFalse | Assert.cs:67:9:67:36 | ...; | |
| Assert.cs:66:9:66:39 | ...; | Assert.cs:66:24:66:24 | access to local variable s | |
| Assert.cs:66:24:66:24 | access to local variable s | Assert.cs:66:29:66:32 | null | |
| Assert.cs:66:24:66:32 | ... == ... | Assert.cs:66:24:66:37 | [true] ... \|\| ... | true |
| Assert.cs:66:24:66:32 | ... == ... | Assert.cs:66:24:66:37 | ... \|\| ... | true |
| Assert.cs:66:24:66:32 | ... == ... | Assert.cs:66:37:66:37 | access to parameter b | false |
| Assert.cs:66:24:66:37 | [false] ... \|\| ... | Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | false |
| Assert.cs:66:24:66:37 | [true] ... \|\| ... | Assert.cs:66:9:66:38 | [assertion failure] call to method IsFalse | true |
| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:66:9:66:38 | call to method IsFalse | |
| Assert.cs:66:29:66:32 | null | Assert.cs:66:24:66:32 | ... == ... | |
| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:66:24:66:37 | [false] ... \|\| ... | false |
| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:66:24:66:37 | [true] ... \|\| ... | true |
| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:66:24:66:37 | ... \|\| ... | |
| Assert.cs:67:9:67:35 | call to method WriteLine | Assert.cs:63:10:63:11 | exit M9 (normal) | |
| Assert.cs:67:9:67:36 | ...; | Assert.cs:67:27:67:27 | access to local variable s | |
| Assert.cs:67:27:67:27 | access to local variable s | Assert.cs:67:27:67:34 | access to property Length | |
@@ -552,17 +541,15 @@
| Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:72:16:72:32 | String s = ... | |
| Assert.cs:72:24:72:27 | null | Assert.cs:72:20:72:32 | ... ? ... : ... | |
| Assert.cs:72:31:72:32 | "" | Assert.cs:72:20:72:32 | ... ? ... : ... | |
| Assert.cs:73:9:73:37 | [assertion failure] call to method IsTrue | Assert.cs:70:10:70:12 | exit M10 (abnormal) | exception |
| Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | Assert.cs:74:9:74:36 | ...; | |
| Assert.cs:73:9:73:37 | call to method IsTrue | Assert.cs:70:10:70:12 | exit M10 (abnormal) | exception |
| Assert.cs:73:9:73:37 | call to method IsTrue | Assert.cs:74:9:74:36 | ...; | |
| Assert.cs:73:9:73:38 | ...; | Assert.cs:73:23:73:23 | access to local variable s | |
| Assert.cs:73:23:73:23 | access to local variable s | Assert.cs:73:28:73:31 | null | |
| Assert.cs:73:23:73:31 | ... == ... | Assert.cs:73:23:73:36 | [false] ... && ... | false |
| Assert.cs:73:23:73:31 | ... == ... | Assert.cs:73:23:73:36 | ... && ... | false |
| Assert.cs:73:23:73:31 | ... == ... | Assert.cs:73:36:73:36 | access to parameter b | true |
| Assert.cs:73:23:73:36 | [false] ... && ... | Assert.cs:73:9:73:37 | [assertion failure] call to method IsTrue | false |
| Assert.cs:73:23:73:36 | [true] ... && ... | Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:73:9:73:37 | call to method IsTrue | |
| Assert.cs:73:28:73:31 | null | Assert.cs:73:23:73:31 | ... == ... | |
| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:73:23:73:36 | [false] ... && ... | false |
| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:73:23:73:36 | [true] ... && ... | true |
| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:73:23:73:36 | ... && ... | |
| Assert.cs:74:9:74:35 | call to method WriteLine | Assert.cs:70:10:70:12 | exit M10 (normal) | |
| Assert.cs:74:9:74:36 | ...; | Assert.cs:74:27:74:27 | access to local variable s | |
| Assert.cs:74:27:74:27 | access to local variable s | Assert.cs:74:27:74:34 | access to property Length | |
@@ -578,17 +565,15 @@
| Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:79:16:79:32 | String s = ... | |
| Assert.cs:79:24:79:27 | null | Assert.cs:79:20:79:32 | ... ? ... : ... | |
| Assert.cs:79:31:79:32 | "" | Assert.cs:79:20:79:32 | ... ? ... : ... | |
| Assert.cs:80:9:80:38 | [assertion failure] call to method IsFalse | Assert.cs:77:10:77:12 | exit M11 (abnormal) | exception |
| Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | Assert.cs:81:9:81:36 | ...; | |
| Assert.cs:80:9:80:38 | call to method IsFalse | Assert.cs:77:10:77:12 | exit M11 (abnormal) | exception |
| Assert.cs:80:9:80:38 | call to method IsFalse | Assert.cs:81:9:81:36 | ...; | |
| Assert.cs:80:9:80:39 | ...; | Assert.cs:80:24:80:24 | access to local variable s | |
| Assert.cs:80:24:80:24 | access to local variable s | Assert.cs:80:29:80:32 | null | |
| Assert.cs:80:24:80:32 | ... != ... | Assert.cs:80:24:80:37 | [true] ... \|\| ... | true |
| Assert.cs:80:24:80:32 | ... != ... | Assert.cs:80:24:80:37 | ... \|\| ... | true |
| Assert.cs:80:24:80:32 | ... != ... | Assert.cs:80:37:80:37 | access to parameter b | false |
| Assert.cs:80:24:80:37 | [false] ... \|\| ... | Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | false |
| Assert.cs:80:24:80:37 | [true] ... \|\| ... | Assert.cs:80:9:80:38 | [assertion failure] call to method IsFalse | true |
| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:80:9:80:38 | call to method IsFalse | |
| Assert.cs:80:29:80:32 | null | Assert.cs:80:24:80:32 | ... != ... | |
| Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:80:24:80:37 | [false] ... \|\| ... | false |
| Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:80:24:80:37 | [true] ... \|\| ... | true |
| Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:80:24:80:37 | ... \|\| ... | |
| Assert.cs:81:9:81:35 | call to method WriteLine | Assert.cs:77:10:77:12 | exit M11 (normal) | |
| Assert.cs:81:9:81:36 | ...; | Assert.cs:81:27:81:27 | access to local variable s | |
| Assert.cs:81:27:81:27 | access to local variable s | Assert.cs:81:27:81:34 | access to property Length | |
@@ -604,12 +589,11 @@
| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:86:16:86:32 | String s = ... | |
| Assert.cs:86:24:86:27 | null | Assert.cs:86:20:86:32 | ... ? ... : ... | |
| Assert.cs:86:31:86:32 | "" | Assert.cs:86:20:86:32 | ... ? ... : ... | |
| Assert.cs:87:9:87:31 | [assertion failure] call to method Assert | Assert.cs:84:10:84:12 | exit M12 (abnormal) | exit |
| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:88:9:88:36 | ...; | |
| Assert.cs:87:9:87:31 | call to method Assert | Assert.cs:84:10:84:12 | exit M12 (abnormal) | exit |
| Assert.cs:87:9:87:31 | call to method Assert | Assert.cs:88:9:88:36 | ...; | |
| Assert.cs:87:9:87:32 | ...; | Assert.cs:87:22:87:22 | access to local variable s | |
| Assert.cs:87:22:87:22 | access to local variable s | Assert.cs:87:27:87:30 | null | |
| Assert.cs:87:22:87:30 | ... != ... | Assert.cs:87:9:87:31 | [assertion failure] call to method Assert | false |
| Assert.cs:87:22:87:30 | ... != ... | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | true |
| Assert.cs:87:22:87:30 | ... != ... | Assert.cs:87:9:87:31 | call to method Assert | |
| Assert.cs:87:27:87:30 | null | Assert.cs:87:22:87:30 | ... != ... | |
| Assert.cs:88:9:88:35 | call to method WriteLine | Assert.cs:90:9:90:26 | ...; | |
| Assert.cs:88:9:88:36 | ...; | Assert.cs:88:27:88:27 | access to local variable s | |
@@ -622,11 +606,10 @@
| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:90:9:90:25 | ... = ... | |
| Assert.cs:90:17:90:20 | null | Assert.cs:90:13:90:25 | ... ? ... : ... | |
| Assert.cs:90:24:90:25 | "" | Assert.cs:90:13:90:25 | ... ? ... : ... | |
| Assert.cs:91:9:91:24 | [assertion failure] call to method IsNull | Assert.cs:84:10:84:12 | exit M12 (abnormal) | exception |
| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:92:9:92:36 | ...; | |
| Assert.cs:91:9:91:24 | call to method IsNull | Assert.cs:84:10:84:12 | exit M12 (abnormal) | exception |
| Assert.cs:91:9:91:24 | call to method IsNull | Assert.cs:92:9:92:36 | ...; | |
| Assert.cs:91:9:91:25 | ...; | Assert.cs:91:23:91:23 | access to local variable s | |
| Assert.cs:91:23:91:23 | access to local variable s | Assert.cs:91:9:91:24 | [assertion failure] call to method IsNull | non-null |
| Assert.cs:91:23:91:23 | access to local variable s | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | null |
| Assert.cs:91:23:91:23 | access to local variable s | Assert.cs:91:9:91:24 | call to method IsNull | |
| Assert.cs:92:9:92:35 | call to method WriteLine | Assert.cs:94:9:94:26 | ...; | |
| Assert.cs:92:9:92:36 | ...; | Assert.cs:92:27:92:27 | access to local variable s | |
| Assert.cs:92:27:92:27 | access to local variable s | Assert.cs:92:27:92:34 | access to property Length | |
@@ -638,11 +621,10 @@
| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:94:9:94:25 | ... = ... | |
| Assert.cs:94:17:94:20 | null | Assert.cs:94:13:94:25 | ... ? ... : ... | |
| Assert.cs:94:24:94:25 | "" | Assert.cs:94:13:94:25 | ... ? ... : ... | |
| Assert.cs:95:9:95:27 | [assertion failure] call to method IsNotNull | Assert.cs:84:10:84:12 | exit M12 (abnormal) | exception |
| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:96:9:96:36 | ...; | |
| Assert.cs:95:9:95:27 | call to method IsNotNull | Assert.cs:84:10:84:12 | exit M12 (abnormal) | exception |
| Assert.cs:95:9:95:27 | call to method IsNotNull | Assert.cs:96:9:96:36 | ...; | |
| Assert.cs:95:9:95:28 | ...; | Assert.cs:95:26:95:26 | access to local variable s | |
| Assert.cs:95:26:95:26 | access to local variable s | Assert.cs:95:9:95:27 | [assertion failure] call to method IsNotNull | null |
| Assert.cs:95:26:95:26 | access to local variable s | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | non-null |
| Assert.cs:95:26:95:26 | access to local variable s | Assert.cs:95:9:95:27 | call to method IsNotNull | |
| Assert.cs:96:9:96:35 | call to method WriteLine | Assert.cs:98:9:98:26 | ...; | |
| Assert.cs:96:9:96:36 | ...; | Assert.cs:96:27:96:27 | access to local variable s | |
| Assert.cs:96:27:96:27 | access to local variable s | Assert.cs:96:27:96:34 | access to property Length | |
@@ -654,12 +636,11 @@
| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:98:9:98:25 | ... = ... | |
| Assert.cs:98:17:98:20 | null | Assert.cs:98:13:98:25 | ... ? ... : ... | |
| Assert.cs:98:24:98:25 | "" | Assert.cs:98:13:98:25 | ... ? ... : ... | |
| Assert.cs:99:9:99:32 | [assertion failure] call to method IsTrue | Assert.cs:84:10:84:12 | exit M12 (abnormal) | exception |
| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:100:9:100:36 | ...; | |
| Assert.cs:99:9:99:32 | call to method IsTrue | Assert.cs:84:10:84:12 | exit M12 (abnormal) | exception |
| Assert.cs:99:9:99:32 | call to method IsTrue | Assert.cs:100:9:100:36 | ...; | |
| Assert.cs:99:9:99:33 | ...; | Assert.cs:99:23:99:23 | access to local variable s | |
| Assert.cs:99:23:99:23 | access to local variable s | Assert.cs:99:28:99:31 | null | |
| Assert.cs:99:23:99:31 | ... == ... | Assert.cs:99:9:99:32 | [assertion failure] call to method IsTrue | false |
| Assert.cs:99:23:99:31 | ... == ... | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | true |
| Assert.cs:99:23:99:31 | ... == ... | Assert.cs:99:9:99:32 | call to method IsTrue | |
| Assert.cs:99:28:99:31 | null | Assert.cs:99:23:99:31 | ... == ... | |
| Assert.cs:100:9:100:35 | call to method WriteLine | Assert.cs:102:9:102:26 | ...; | |
| Assert.cs:100:9:100:36 | ...; | Assert.cs:100:27:100:27 | access to local variable s | |
@@ -672,12 +653,11 @@
| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:102:9:102:25 | ... = ... | |
| Assert.cs:102:17:102:20 | null | Assert.cs:102:13:102:25 | ... ? ... : ... | |
| Assert.cs:102:24:102:25 | "" | Assert.cs:102:13:102:25 | ... ? ... : ... | |
| Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | Assert.cs:84:10:84:12 | exit M12 (abnormal) | exception |
| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:104:9:104:36 | ...; | |
| Assert.cs:103:9:103:32 | call to method IsTrue | Assert.cs:84:10:84:12 | exit M12 (abnormal) | exception |
| Assert.cs:103:9:103:32 | call to method IsTrue | Assert.cs:104:9:104:36 | ...; | |
| Assert.cs:103:9:103:33 | ...; | Assert.cs:103:23:103:23 | access to local variable s | |
| Assert.cs:103:23:103:23 | access to local variable s | Assert.cs:103:28:103:31 | null | |
| Assert.cs:103:23:103:31 | ... != ... | Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | false |
| Assert.cs:103:23:103:31 | ... != ... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | true |
| Assert.cs:103:23:103:31 | ... != ... | Assert.cs:103:9:103:32 | call to method IsTrue | |
| Assert.cs:103:28:103:31 | null | Assert.cs:103:23:103:31 | ... != ... | |
| Assert.cs:104:9:104:35 | call to method WriteLine | Assert.cs:106:9:106:26 | ...; | |
| Assert.cs:104:9:104:36 | ...; | Assert.cs:104:27:104:27 | access to local variable s | |
@@ -690,12 +670,11 @@
| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:106:9:106:25 | ... = ... | |
| Assert.cs:106:17:106:20 | null | Assert.cs:106:13:106:25 | ... ? ... : ... | |
| Assert.cs:106:24:106:25 | "" | Assert.cs:106:13:106:25 | ... ? ... : ... | |
| Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | Assert.cs:84:10:84:12 | exit M12 (abnormal) | exception |
| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:108:9:108:36 | ...; | |
| Assert.cs:107:9:107:33 | call to method IsFalse | Assert.cs:84:10:84:12 | exit M12 (abnormal) | exception |
| Assert.cs:107:9:107:33 | call to method IsFalse | Assert.cs:108:9:108:36 | ...; | |
| Assert.cs:107:9:107:34 | ...; | Assert.cs:107:24:107:24 | access to local variable s | |
| Assert.cs:107:24:107:24 | access to local variable s | Assert.cs:107:29:107:32 | null | |
| Assert.cs:107:24:107:32 | ... != ... | Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | true |
| Assert.cs:107:24:107:32 | ... != ... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | false |
| Assert.cs:107:24:107:32 | ... != ... | Assert.cs:107:9:107:33 | call to method IsFalse | |
| Assert.cs:107:29:107:32 | null | Assert.cs:107:24:107:32 | ... != ... | |
| Assert.cs:108:9:108:35 | call to method WriteLine | Assert.cs:110:9:110:26 | ...; | |
| Assert.cs:108:9:108:36 | ...; | Assert.cs:108:27:108:27 | access to local variable s | |
@@ -708,12 +687,11 @@
| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:110:9:110:25 | ... = ... | |
| Assert.cs:110:17:110:20 | null | Assert.cs:110:13:110:25 | ... ? ... : ... | |
| Assert.cs:110:24:110:25 | "" | Assert.cs:110:13:110:25 | ... ? ... : ... | |
| Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | Assert.cs:84:10:84:12 | exit M12 (abnormal) | exception |
| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:112:9:112:36 | ...; | |
| Assert.cs:111:9:111:33 | call to method IsFalse | Assert.cs:84:10:84:12 | exit M12 (abnormal) | exception |
| Assert.cs:111:9:111:33 | call to method IsFalse | Assert.cs:112:9:112:36 | ...; | |
| Assert.cs:111:9:111:34 | ...; | Assert.cs:111:24:111:24 | access to local variable s | |
| Assert.cs:111:24:111:24 | access to local variable s | Assert.cs:111:29:111:32 | null | |
| Assert.cs:111:24:111:32 | ... == ... | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | true |
| Assert.cs:111:24:111:32 | ... == ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | false |
| Assert.cs:111:24:111:32 | ... == ... | Assert.cs:111:9:111:33 | call to method IsFalse | |
| Assert.cs:111:29:111:32 | null | Assert.cs:111:24:111:32 | ... == ... | |
| Assert.cs:112:9:112:35 | call to method WriteLine | Assert.cs:114:9:114:26 | ...; | |
| Assert.cs:112:9:112:36 | ...; | Assert.cs:112:27:112:27 | access to local variable s | |
@@ -726,17 +704,15 @@
| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:114:9:114:25 | ... = ... | |
| Assert.cs:114:17:114:20 | null | Assert.cs:114:13:114:25 | ... ? ... : ... | |
| Assert.cs:114:24:114:25 | "" | Assert.cs:114:13:114:25 | ... ? ... : ... | |
| Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | Assert.cs:84:10:84:12 | exit M12 (abnormal) | exception |
| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:116:9:116:36 | ...; | |
| Assert.cs:115:9:115:37 | call to method IsTrue | Assert.cs:84:10:84:12 | exit M12 (abnormal) | exception |
| Assert.cs:115:9:115:37 | call to method IsTrue | Assert.cs:116:9:116:36 | ...; | |
| Assert.cs:115:9:115:38 | ...; | Assert.cs:115:23:115:23 | access to local variable s | |
| Assert.cs:115:23:115:23 | access to local variable s | Assert.cs:115:28:115:31 | null | |
| Assert.cs:115:23:115:31 | ... != ... | Assert.cs:115:23:115:36 | [false] ... && ... | false |
| Assert.cs:115:23:115:31 | ... != ... | Assert.cs:115:23:115:36 | ... && ... | false |
| Assert.cs:115:23:115:31 | ... != ... | Assert.cs:115:36:115:36 | access to parameter b | true |
| Assert.cs:115:23:115:36 | [false] ... && ... | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | false |
| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:115:9:115:37 | call to method IsTrue | |
| Assert.cs:115:28:115:31 | null | Assert.cs:115:23:115:31 | ... != ... | |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:115:23:115:36 | [false] ... && ... | false |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:115:23:115:36 | [true] ... && ... | true |
| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:115:23:115:36 | ... && ... | |
| Assert.cs:116:9:116:35 | call to method WriteLine | Assert.cs:118:9:118:26 | ...; | |
| Assert.cs:116:9:116:36 | ...; | Assert.cs:116:27:116:27 | access to local variable s | |
| Assert.cs:116:27:116:27 | access to local variable s | Assert.cs:116:27:116:34 | access to property Length | |
@@ -748,19 +724,16 @@
| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:118:9:118:25 | ... = ... | |
| Assert.cs:118:17:118:20 | null | Assert.cs:118:13:118:25 | ... ? ... : ... | |
| Assert.cs:118:24:118:25 | "" | Assert.cs:118:13:118:25 | ... ? ... : ... | |
| Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | Assert.cs:84:10:84:12 | exit M12 (abnormal) | exception |
| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:120:9:120:36 | ...; | |
| Assert.cs:119:9:119:39 | call to method IsFalse | Assert.cs:84:10:84:12 | exit M12 (abnormal) | exception |
| Assert.cs:119:9:119:39 | call to method IsFalse | Assert.cs:120:9:120:36 | ...; | |
| Assert.cs:119:9:119:40 | ...; | Assert.cs:119:24:119:24 | access to local variable s | |
| Assert.cs:119:24:119:24 | access to local variable s | Assert.cs:119:29:119:32 | null | |
| Assert.cs:119:24:119:32 | ... == ... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | true |
| Assert.cs:119:24:119:32 | ... == ... | Assert.cs:119:24:119:38 | ... \|\| ... | true |
| Assert.cs:119:24:119:32 | ... == ... | Assert.cs:119:38:119:38 | access to parameter b | false |
| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | false |
| Assert.cs:119:24:119:38 | [true] ... \|\| ... | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | true |
| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:119:9:119:39 | call to method IsFalse | |
| Assert.cs:119:29:119:32 | null | Assert.cs:119:24:119:32 | ... == ... | |
| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | false |
| Assert.cs:119:37:119:38 | [true] !... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:37:119:38 | [false] !... | true |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:37:119:38 | [true] !... | false |
| Assert.cs:119:37:119:38 | !... | Assert.cs:119:24:119:38 | ... \|\| ... | |
| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:37:119:38 | !... | |
| Assert.cs:120:9:120:35 | call to method WriteLine | Assert.cs:122:9:122:26 | ...; | |
| Assert.cs:120:9:120:36 | ...; | Assert.cs:120:27:120:27 | access to local variable s | |
| Assert.cs:120:27:120:27 | access to local variable s | Assert.cs:120:27:120:34 | access to property Length | |
@@ -772,17 +745,15 @@
| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:122:9:122:25 | ... = ... | |
| Assert.cs:122:17:122:20 | null | Assert.cs:122:13:122:25 | ... ? ... : ... | |
| Assert.cs:122:24:122:25 | "" | Assert.cs:122:13:122:25 | ... ? ... : ... | |
| Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | Assert.cs:84:10:84:12 | exit M12 (abnormal) | exception |
| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:124:9:124:36 | ...; | |
| Assert.cs:123:9:123:37 | call to method IsTrue | Assert.cs:84:10:84:12 | exit M12 (abnormal) | exception |
| Assert.cs:123:9:123:37 | call to method IsTrue | Assert.cs:124:9:124:36 | ...; | |
| Assert.cs:123:9:123:38 | ...; | Assert.cs:123:23:123:23 | access to local variable s | |
| Assert.cs:123:23:123:23 | access to local variable s | Assert.cs:123:28:123:31 | null | |
| Assert.cs:123:23:123:31 | ... == ... | Assert.cs:123:23:123:36 | [false] ... && ... | false |
| Assert.cs:123:23:123:31 | ... == ... | Assert.cs:123:23:123:36 | ... && ... | false |
| Assert.cs:123:23:123:31 | ... == ... | Assert.cs:123:36:123:36 | access to parameter b | true |
| Assert.cs:123:23:123:36 | [false] ... && ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | false |
| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | true |
| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:123:9:123:37 | call to method IsTrue | |
| Assert.cs:123:28:123:31 | null | Assert.cs:123:23:123:31 | ... == ... | |
| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:123:23:123:36 | [false] ... && ... | false |
| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:123:23:123:36 | [true] ... && ... | true |
| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:123:23:123:36 | ... && ... | |
| Assert.cs:124:9:124:35 | call to method WriteLine | Assert.cs:126:9:126:26 | ...; | |
| Assert.cs:124:9:124:36 | ...; | Assert.cs:124:27:124:27 | access to local variable s | |
| Assert.cs:124:27:124:27 | access to local variable s | Assert.cs:124:27:124:34 | access to property Length | |
@@ -794,19 +765,16 @@
| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:126:9:126:25 | ... = ... | |
| Assert.cs:126:17:126:20 | null | Assert.cs:126:13:126:25 | ... ? ... : ... | |
| Assert.cs:126:24:126:25 | "" | Assert.cs:126:13:126:25 | ... ? ... : ... | |
| Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | Assert.cs:84:10:84:12 | exit M12 (abnormal) | exception |
| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:128:9:128:36 | ...; | |
| Assert.cs:127:9:127:39 | call to method IsFalse | Assert.cs:84:10:84:12 | exit M12 (abnormal) | exception |
| Assert.cs:127:9:127:39 | call to method IsFalse | Assert.cs:128:9:128:36 | ...; | |
| Assert.cs:127:9:127:40 | ...; | Assert.cs:127:24:127:24 | access to local variable s | |
| Assert.cs:127:24:127:24 | access to local variable s | Assert.cs:127:29:127:32 | null | |
| Assert.cs:127:24:127:32 | ... != ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | true |
| Assert.cs:127:24:127:32 | ... != ... | Assert.cs:127:24:127:38 | ... \|\| ... | true |
| Assert.cs:127:24:127:32 | ... != ... | Assert.cs:127:38:127:38 | access to parameter b | false |
| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | false |
| Assert.cs:127:24:127:38 | [true] ... \|\| ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | true |
| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:127:9:127:39 | call to method IsFalse | |
| Assert.cs:127:29:127:32 | null | Assert.cs:127:24:127:32 | ... != ... | |
| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | false |
| Assert.cs:127:37:127:38 | [true] !... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | true |
| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:37:127:38 | [false] !... | true |
| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:37:127:38 | [true] !... | false |
| Assert.cs:127:37:127:38 | !... | Assert.cs:127:24:127:38 | ... \|\| ... | |
| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:37:127:38 | !... | |
| Assert.cs:128:9:128:35 | call to method WriteLine | Assert.cs:84:10:84:12 | exit M12 (normal) | |
| Assert.cs:128:9:128:36 | ...; | Assert.cs:128:27:128:27 | access to local variable s | |
| Assert.cs:128:27:128:27 | access to local variable s | Assert.cs:128:27:128:34 | access to property Length | |
@@ -818,19 +786,13 @@
| Assert.cs:138:10:138:12 | exit M13 (abnormal) | Assert.cs:138:10:138:12 | exit M13 | |
| Assert.cs:138:10:138:12 | exit M13 (normal) | Assert.cs:138:10:138:12 | exit M13 | |
| Assert.cs:139:5:142:5 | {...} | Assert.cs:140:9:140:36 | ...; | |
| Assert.cs:140:9:140:35 | [assertion failure] call to method AssertTrueFalse | Assert.cs:138:10:138:12 | exit M13 (abnormal) | exception |
| Assert.cs:140:9:140:35 | [assertion failure] call to method AssertTrueFalse | Assert.cs:138:10:138:12 | exit M13 (abnormal) | exception |
| Assert.cs:140:9:140:35 | [assertion success] call to method AssertTrueFalse | Assert.cs:141:9:141:15 | return ...; | |
| Assert.cs:140:9:140:35 | call to method AssertTrueFalse | Assert.cs:138:10:138:12 | exit M13 (abnormal) | exception |
| Assert.cs:140:9:140:35 | call to method AssertTrueFalse | Assert.cs:141:9:141:15 | return ...; | |
| Assert.cs:140:9:140:35 | this access | Assert.cs:140:25:140:26 | access to parameter b1 | |
| Assert.cs:140:9:140:36 | ...; | Assert.cs:140:9:140:35 | this access | |
| Assert.cs:140:25:140:26 | access to parameter b1 | Assert.cs:140:29:140:30 | [assertion failure] access to parameter b2 | false |
| Assert.cs:140:25:140:26 | access to parameter b1 | Assert.cs:140:29:140:30 | access to parameter b2 | true |
| Assert.cs:140:29:140:30 | [assertion failure] access to parameter b2 | Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | false, true |
| Assert.cs:140:29:140:30 | access to parameter b2 | Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | true |
| Assert.cs:140:29:140:30 | access to parameter b2 | Assert.cs:140:33:140:34 | [assertion success] access to parameter b3 | false |
| Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | Assert.cs:140:9:140:35 | [assertion failure] call to method AssertTrueFalse | |
| Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | Assert.cs:140:9:140:35 | [assertion failure] call to method AssertTrueFalse | |
| Assert.cs:140:33:140:34 | [assertion success] access to parameter b3 | Assert.cs:140:9:140:35 | [assertion success] call to method AssertTrueFalse | |
| Assert.cs:140:25:140:26 | access to parameter b1 | Assert.cs:140:29:140:30 | access to parameter b2 | |
| Assert.cs:140:29:140:30 | access to parameter b2 | Assert.cs:140:33:140:34 | access to parameter b3 | |
| Assert.cs:140:33:140:34 | access to parameter b3 | Assert.cs:140:9:140:35 | call to method AssertTrueFalse | |
| Assert.cs:141:9:141:15 | return ...; | Assert.cs:138:10:138:12 | exit M13 (normal) | return |
| Assignments.cs:1:7:1:17 | call to constructor Object | Assignments.cs:1:7:1:17 | {...} | |
| Assignments.cs:1:7:1:17 | enter Assignments | Assignments.cs:1:7:1:17 | call to constructor Object | |
@@ -1605,9 +1567,9 @@
| ExitMethods.cs:120:17:120:32 | enter FailingAssertion | ExitMethods.cs:121:5:124:5 | {...} | |
| ExitMethods.cs:120:17:120:32 | exit FailingAssertion (abnormal) | ExitMethods.cs:120:17:120:32 | exit FailingAssertion | |
| ExitMethods.cs:121:5:124:5 | {...} | ExitMethods.cs:122:9:122:29 | ...; | |
| ExitMethods.cs:122:9:122:28 | [assertion failure] call to method IsTrue | ExitMethods.cs:120:17:120:32 | exit FailingAssertion (abnormal) | exception |
| ExitMethods.cs:122:9:122:28 | call to method IsTrue | ExitMethods.cs:120:17:120:32 | exit FailingAssertion (abnormal) | exception |
| ExitMethods.cs:122:9:122:29 | ...; | ExitMethods.cs:122:23:122:27 | false | |
| ExitMethods.cs:122:23:122:27 | false | ExitMethods.cs:122:9:122:28 | [assertion failure] call to method IsTrue | false |
| ExitMethods.cs:122:23:122:27 | false | ExitMethods.cs:122:9:122:28 | call to method IsTrue | |
| ExitMethods.cs:126:17:126:33 | enter FailingAssertion2 | ExitMethods.cs:127:5:130:5 | {...} | |
| ExitMethods.cs:126:17:126:33 | exit FailingAssertion2 (abnormal) | ExitMethods.cs:126:17:126:33 | exit FailingAssertion2 | |
| ExitMethods.cs:127:5:130:5 | {...} | ExitMethods.cs:128:9:128:27 | ...; | |
@@ -1617,17 +1579,16 @@
| ExitMethods.cs:132:10:132:20 | enter AssertFalse | ExitMethods.cs:132:48:132:48 | access to parameter b | |
| ExitMethods.cs:132:10:132:20 | exit AssertFalse (abnormal) | ExitMethods.cs:132:10:132:20 | exit AssertFalse | |
| ExitMethods.cs:132:10:132:20 | exit AssertFalse (normal) | ExitMethods.cs:132:10:132:20 | exit AssertFalse | |
| ExitMethods.cs:132:33:132:49 | [assertion failure] call to method IsFalse | ExitMethods.cs:132:10:132:20 | exit AssertFalse (abnormal) | exception |
| ExitMethods.cs:132:33:132:49 | [assertion success] call to method IsFalse | ExitMethods.cs:132:10:132:20 | exit AssertFalse (normal) | |
| ExitMethods.cs:132:48:132:48 | access to parameter b | ExitMethods.cs:132:33:132:49 | [assertion failure] call to method IsFalse | true |
| ExitMethods.cs:132:48:132:48 | access to parameter b | ExitMethods.cs:132:33:132:49 | [assertion success] call to method IsFalse | false |
| ExitMethods.cs:132:33:132:49 | call to method IsFalse | ExitMethods.cs:132:10:132:20 | exit AssertFalse (abnormal) | exception |
| ExitMethods.cs:132:33:132:49 | call to method IsFalse | ExitMethods.cs:132:10:132:20 | exit AssertFalse (normal) | |
| ExitMethods.cs:132:48:132:48 | access to parameter b | ExitMethods.cs:132:33:132:49 | call to method IsFalse | |
| ExitMethods.cs:134:17:134:33 | enter FailingAssertion3 | ExitMethods.cs:135:5:138:5 | {...} | |
| ExitMethods.cs:134:17:134:33 | exit FailingAssertion3 (abnormal) | ExitMethods.cs:134:17:134:33 | exit FailingAssertion3 | |
| ExitMethods.cs:135:5:138:5 | {...} | ExitMethods.cs:136:9:136:26 | ...; | |
| ExitMethods.cs:136:9:136:25 | [assertion failure] call to method AssertFalse | ExitMethods.cs:134:17:134:33 | exit FailingAssertion3 (abnormal) | exception |
| ExitMethods.cs:136:9:136:25 | call to method AssertFalse | ExitMethods.cs:134:17:134:33 | exit FailingAssertion3 (abnormal) | exception |
| ExitMethods.cs:136:9:136:25 | this access | ExitMethods.cs:136:21:136:24 | true | |
| ExitMethods.cs:136:9:136:26 | ...; | ExitMethods.cs:136:9:136:25 | this access | |
| ExitMethods.cs:136:21:136:24 | true | ExitMethods.cs:136:9:136:25 | [assertion failure] call to method AssertFalse | true |
| ExitMethods.cs:136:21:136:24 | true | ExitMethods.cs:136:9:136:25 | call to method AssertFalse | |
| ExitMethods.cs:140:17:140:42 | enter ExceptionDispatchInfoThrow | ExitMethods.cs:141:5:147:5 | {...} | |
| ExitMethods.cs:140:17:140:42 | exit ExceptionDispatchInfoThrow (abnormal) | ExitMethods.cs:140:17:140:42 | exit ExceptionDispatchInfoThrow | |
| ExitMethods.cs:141:5:147:5 | {...} | ExitMethods.cs:142:9:145:53 | if (...) ... | |

View File

@@ -2,11 +2,5 @@ import csharp
private import semmle.code.csharp.controlflow.Guards
query predicate abstractValue(AbstractValue value, Expr e) {
e = value.getAnExpr() and e.fromSource()
}
query predicate dualValue(AbstractValue value, AbstractValue dual) { dual = value.getDualValue() }
query predicate singletonValue(AbstractValue value) {
value.isSingleton() and value.getAnExpr().fromSource()
Guards::InternalUtil::exprHasValue(e, value) and e.fromSource()
}

View File

@@ -69,6 +69,17 @@
| Guards.cs:208:17:208:17 | access to parameter o | Guards.cs:203:13:203:21 | ... != ... | Guards.cs:203:13:203:13 | access to parameter o | true |
| Guards.cs:269:13:269:14 | access to parameter o1 | Guards.cs:268:13:268:41 | call to operator == | Guards.cs:268:13:268:14 | access to parameter o1 | true |
| Guards.cs:271:13:271:14 | access to parameter o1 | Guards.cs:270:13:270:42 | call to operator == | Guards.cs:270:13:270:14 | access to parameter o1 | true |
| Guards.cs:279:17:279:17 | access to parameter o | Guards.cs:278:13:279:28 | ... => ... | Guards.cs:279:17:279:17 | access to parameter o | true |
| Guards.cs:281:17:281:17 | access to local variable a | Guards.cs:280:13:281:28 | ... => ... | Guards.cs:281:17:281:17 | access to local variable a | true |
| Guards.cs:283:17:283:17 | access to parameter o | Guards.cs:278:13:279:28 | ... => ... | Guards.cs:279:17:279:17 | access to parameter o | false |
| Guards.cs:283:17:283:17 | access to parameter o | Guards.cs:282:13:283:28 | ... => ... | Guards.cs:283:17:283:17 | access to parameter o | true |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:278:13:279:28 | ... => ... | Guards.cs:279:17:279:17 | access to parameter o | false |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:282:13:283:28 | ... => ... | Guards.cs:283:17:283:17 | access to parameter o | false |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:284:13:285:28 | ... => ... | Guards.cs:285:17:285:17 | access to parameter o | true |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:278:13:279:28 | ... => ... | Guards.cs:279:17:279:17 | access to parameter o | false |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:282:13:283:28 | ... => ... | Guards.cs:283:17:283:17 | access to parameter o | false |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:284:13:285:28 | ... => ... | Guards.cs:285:17:285:17 | access to parameter o | false |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:286:13:287:28 | ... => ... | Guards.cs:287:17:287:17 | access to parameter o | true |
| Guards.cs:342:27:342:27 | access to parameter b | Guards.cs:341:20:341:20 | access to parameter b | Guards.cs:341:20:341:20 | access to parameter b | false |
| Guards.cs:343:31:343:31 | access to local variable s | Guards.cs:342:13:342:21 | ... != ... | Guards.cs:342:13:342:13 | access to local variable s | true |
| Guards.cs:349:13:349:13 | access to parameter o | Guards.cs:348:13:348:25 | ... is ... | Guards.cs:348:13:348:13 | access to parameter o | true |

View File

@@ -1,22 +1,29 @@
| Assert.cs:11:27:11:27 | access to local variable s | Assert.cs:10:22:10:22 | access to local variable s | Assert.cs:10:22:10:22 | access to local variable s | non-null |
| Assert.cs:11:27:11:27 | access to local variable s | Assert.cs:10:9:10:31 | call to method Assert | Assert.cs:10:22:10:22 | access to local variable s | no exception |
| Assert.cs:11:27:11:27 | access to local variable s | Assert.cs:10:22:10:22 | access to local variable s | Assert.cs:10:22:10:22 | access to local variable s | not null |
| Assert.cs:11:27:11:27 | access to local variable s | Assert.cs:10:22:10:30 | ... != ... | Assert.cs:10:22:10:22 | access to local variable s | true |
| Assert.cs:18:27:18:27 | access to local variable s | Assert.cs:17:9:17:24 | call to method IsNull | Assert.cs:17:23:17:23 | access to local variable s | no exception |
| Assert.cs:18:27:18:27 | access to local variable s | Assert.cs:17:23:17:23 | access to local variable s | Assert.cs:17:23:17:23 | access to local variable s | null |
| Assert.cs:25:27:25:27 | access to local variable s | Assert.cs:24:26:24:26 | access to local variable s | Assert.cs:24:26:24:26 | access to local variable s | non-null |
| Assert.cs:25:27:25:27 | access to local variable s | Assert.cs:24:9:24:27 | call to method IsNotNull | Assert.cs:24:26:24:26 | access to local variable s | no exception |
| Assert.cs:25:27:25:27 | access to local variable s | Assert.cs:24:26:24:26 | access to local variable s | Assert.cs:24:26:24:26 | access to local variable s | not null |
| Assert.cs:32:27:32:27 | access to local variable s | Assert.cs:31:9:31:32 | call to method IsTrue | Assert.cs:31:23:31:23 | access to local variable s | no exception |
| Assert.cs:32:27:32:27 | access to local variable s | Assert.cs:31:23:31:23 | access to local variable s | Assert.cs:31:23:31:23 | access to local variable s | null |
| Assert.cs:32:27:32:27 | access to local variable s | Assert.cs:31:23:31:31 | ... == ... | Assert.cs:31:23:31:23 | access to local variable s | true |
| Assert.cs:39:27:39:27 | access to local variable s | Assert.cs:38:23:38:23 | access to local variable s | Assert.cs:38:23:38:23 | access to local variable s | non-null |
| Assert.cs:39:27:39:27 | access to local variable s | Assert.cs:38:9:38:32 | call to method IsTrue | Assert.cs:38:23:38:23 | access to local variable s | no exception |
| Assert.cs:39:27:39:27 | access to local variable s | Assert.cs:38:23:38:23 | access to local variable s | Assert.cs:38:23:38:23 | access to local variable s | not null |
| Assert.cs:39:27:39:27 | access to local variable s | Assert.cs:38:23:38:31 | ... != ... | Assert.cs:38:23:38:23 | access to local variable s | true |
| Assert.cs:46:27:46:27 | access to local variable s | Assert.cs:45:9:45:33 | call to method IsFalse | Assert.cs:45:24:45:24 | access to local variable s | no exception |
| Assert.cs:46:27:46:27 | access to local variable s | Assert.cs:45:24:45:24 | access to local variable s | Assert.cs:45:24:45:24 | access to local variable s | null |
| Assert.cs:46:27:46:27 | access to local variable s | Assert.cs:45:24:45:32 | ... != ... | Assert.cs:45:24:45:24 | access to local variable s | false |
| Assert.cs:53:27:53:27 | access to local variable s | Assert.cs:52:24:52:24 | access to local variable s | Assert.cs:52:24:52:24 | access to local variable s | non-null |
| Assert.cs:53:27:53:27 | access to local variable s | Assert.cs:52:9:52:33 | call to method IsFalse | Assert.cs:52:24:52:24 | access to local variable s | no exception |
| Assert.cs:53:27:53:27 | access to local variable s | Assert.cs:52:24:52:24 | access to local variable s | Assert.cs:52:24:52:24 | access to local variable s | not null |
| Assert.cs:53:27:53:27 | access to local variable s | Assert.cs:52:24:52:32 | ... == ... | Assert.cs:52:24:52:24 | access to local variable s | false |
| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:58:20:58:20 | access to parameter b | Assert.cs:58:20:58:20 | access to parameter b | false |
| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:58:20:58:20 | access to parameter b | non-null |
| Assert.cs:60:27:60:27 | access to local variable s | Assert.cs:59:23:59:23 | access to local variable s | Assert.cs:59:23:59:23 | access to local variable s | non-null |
| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:58:20:58:20 | access to parameter b | not null |
| Assert.cs:60:27:60:27 | access to local variable s | Assert.cs:59:23:59:23 | access to local variable s | Assert.cs:59:23:59:23 | access to local variable s | not null |
| Assert.cs:60:27:60:27 | access to local variable s | Assert.cs:59:23:59:31 | ... != ... | Assert.cs:59:23:59:23 | access to local variable s | true |
| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:65:20:65:20 | access to parameter b | Assert.cs:65:20:65:20 | access to parameter b | false |
| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:65:20:65:20 | access to parameter b | non-null |
| Assert.cs:67:27:67:27 | access to local variable s | Assert.cs:66:24:66:24 | access to local variable s | Assert.cs:66:24:66:24 | access to local variable s | non-null |
| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:65:20:65:20 | access to parameter b | not null |
| Assert.cs:67:27:67:27 | access to local variable s | Assert.cs:66:24:66:24 | access to local variable s | Assert.cs:66:24:66:24 | access to local variable s | not null |
| Assert.cs:67:27:67:27 | access to local variable s | Assert.cs:66:24:66:32 | ... == ... | Assert.cs:66:24:66:24 | access to local variable s | false |
| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:72:20:72:20 | access to parameter b | Assert.cs:72:20:72:20 | access to parameter b | true |
| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:72:20:72:20 | access to parameter b | null |
@@ -26,174 +33,180 @@
| Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:79:20:79:20 | access to parameter b | null |
| Assert.cs:81:27:81:27 | access to local variable s | Assert.cs:80:24:80:24 | access to local variable s | Assert.cs:80:24:80:24 | access to local variable s | null |
| Assert.cs:81:27:81:27 | access to local variable s | Assert.cs:80:24:80:32 | ... != ... | Assert.cs:80:24:80:24 | access to local variable s | false |
| Assert.cs:93:33:93:34 | [assertion failure] access to parameter b2 | Assert.cs:93:29:93:30 | access to parameter b2 | Assert.cs:93:29:93:30 | access to parameter b2 | false |
| Assert.cs:93:33:93:34 | [assertion failure] access to parameter b2 | Assert.cs:93:29:93:30 | access to parameter b2 | Assert.cs:93:29:93:30 | access to parameter b2 | true |
| Assert.cs:93:33:93:34 | [assertion failure] access to parameter b2 | Assert.cs:93:29:93:30 | access to parameter b2 | Assert.cs:93:29:93:30 | access to parameter b2 | true |
| Assert.cs:93:33:93:34 | [assertion success] access to parameter b2 | Assert.cs:93:29:93:30 | access to parameter b2 | Assert.cs:93:29:93:30 | access to parameter b2 | false |
| Assert.cs:94:16:94:17 | access to parameter b1 | Assert.cs:93:9:93:35 | call to method AssertTrueFalse | Assert.cs:93:25:93:26 | access to parameter b1 | no exception |
| Assert.cs:94:16:94:17 | access to parameter b1 | Assert.cs:93:25:93:26 | access to parameter b1 | Assert.cs:93:25:93:26 | access to parameter b1 | true |
| Assert.cs:94:23:94:24 | access to parameter b2 | Assert.cs:93:9:93:35 | call to method AssertTrueFalse | Assert.cs:93:29:93:30 | access to parameter b2 | no exception |
| Assert.cs:94:23:94:24 | access to parameter b2 | Assert.cs:93:9:93:35 | call to method AssertTrueFalse | Assert.cs:93:33:93:34 | access to parameter b2 | no exception |
| Assert.cs:94:23:94:24 | access to parameter b2 | Assert.cs:93:29:93:30 | access to parameter b2 | Assert.cs:93:29:93:30 | access to parameter b2 | false |
| Collections.cs:51:17:51:20 | access to parameter args | Collections.cs:49:13:49:16 | access to parameter args | Collections.cs:49:13:49:16 | access to parameter args | non-empty |
| Collections.cs:51:17:51:20 | access to parameter args | Collections.cs:49:13:49:22 | access to property Count | Collections.cs:49:13:49:16 | access to parameter args | not 0 |
| Collections.cs:51:17:51:20 | access to parameter args | Collections.cs:49:13:49:27 | ... == ... | Collections.cs:49:13:49:16 | access to parameter args | false |
| Collections.cs:52:9:52:12 | access to parameter args | Collections.cs:49:13:49:22 | access to property Count | Collections.cs:49:13:49:16 | access to parameter args | not 0 |
| Collections.cs:52:9:52:12 | access to parameter args | Collections.cs:49:13:49:27 | ... == ... | Collections.cs:49:13:49:16 | access to parameter args | false |
| Collections.cs:53:13:53:16 | access to parameter args | Collections.cs:49:13:49:22 | access to property Count | Collections.cs:49:13:49:16 | access to parameter args | not 0 |
| Collections.cs:53:13:53:16 | access to parameter args | Collections.cs:49:13:49:27 | ... == ... | Collections.cs:49:13:49:16 | access to parameter args | false |
| Collections.cs:66:13:66:13 | access to local variable x | Collections.cs:64:13:64:13 | access to local variable x | Collections.cs:64:13:64:13 | access to local variable x | empty |
| Collections.cs:66:13:66:13 | access to local variable x | Collections.cs:64:13:64:19 | access to property Count | Collections.cs:64:13:64:13 | access to local variable x | 0 |
| Collections.cs:66:13:66:13 | access to local variable x | Collections.cs:64:13:64:24 | ... == ... | Collections.cs:64:13:64:13 | access to local variable x | true |
| Collections.cs:67:13:67:13 | access to local variable x | Collections.cs:64:13:64:19 | access to property Count | Collections.cs:64:13:64:13 | access to local variable x | 0 |
| Collections.cs:67:13:67:13 | access to local variable x | Collections.cs:64:13:64:24 | ... == ... | Collections.cs:64:13:64:13 | access to local variable x | true |
| Collections.cs:95:31:95:34 | access to parameter args | Collections.cs:94:29:94:32 | access to parameter args | Collections.cs:94:29:94:32 | access to parameter args | non-empty |
| Guards.cs:12:13:12:13 | access to parameter s | Guards.cs:10:16:10:16 | access to parameter s | Guards.cs:10:16:10:16 | access to parameter s | non-null |
| Guards.cs:12:13:12:13 | access to parameter s | Guards.cs:10:16:10:16 | access to parameter s | Guards.cs:10:16:10:16 | access to parameter s | not null |
| Guards.cs:12:13:12:13 | access to parameter s | Guards.cs:10:16:10:24 | ... == ... | Guards.cs:10:16:10:16 | access to parameter s | false |
| Guards.cs:14:31:14:31 | access to parameter s | Guards.cs:10:16:10:16 | access to parameter s | Guards.cs:10:16:10:16 | access to parameter s | non-null |
| Guards.cs:14:31:14:31 | access to parameter s | Guards.cs:10:16:10:16 | access to parameter s | Guards.cs:10:16:10:16 | access to parameter s | not null |
| Guards.cs:14:31:14:31 | access to parameter s | Guards.cs:10:16:10:24 | ... == ... | Guards.cs:10:16:10:16 | access to parameter s | false |
| Guards.cs:14:31:14:31 | access to parameter s | Guards.cs:12:13:12:24 | ... > ... | Guards.cs:12:13:12:13 | access to parameter s | true |
| Guards.cs:26:31:26:31 | access to parameter s | Guards.cs:24:13:24:13 | access to parameter s | Guards.cs:24:13:24:13 | access to parameter s | non-null |
| Guards.cs:26:31:26:31 | access to parameter s | Guards.cs:24:13:24:13 | access to parameter s | Guards.cs:24:13:24:13 | access to parameter s | not null |
| Guards.cs:26:31:26:31 | access to parameter s | Guards.cs:24:13:24:21 | ... != ... | Guards.cs:24:13:24:13 | access to parameter s | true |
| Guards.cs:33:31:33:31 | access to parameter x | Guards.cs:32:14:32:36 | call to method IsNullOrEmpty | Guards.cs:32:35:32:35 | access to parameter x | false |
| Guards.cs:33:31:33:31 | access to parameter x | Guards.cs:32:35:32:35 | access to parameter x | Guards.cs:32:35:32:35 | access to parameter x | non-null |
| Guards.cs:33:35:33:35 | access to parameter y | Guards.cs:32:42:32:42 | access to parameter y | Guards.cs:32:42:32:42 | access to parameter y | non-null |
| Guards.cs:33:31:33:31 | access to parameter x | Guards.cs:32:35:32:35 | access to parameter x | Guards.cs:32:35:32:35 | access to parameter x | not null |
| Guards.cs:33:35:33:35 | access to parameter y | Guards.cs:32:42:32:42 | access to parameter y | Guards.cs:32:42:32:42 | access to parameter y | not null |
| Guards.cs:33:35:33:35 | access to parameter y | Guards.cs:32:42:32:50 | ... == ... | Guards.cs:32:42:32:42 | access to parameter y | false |
| Guards.cs:36:32:36:32 | access to parameter x | Guards.cs:35:13:35:13 | access to parameter x | Guards.cs:35:13:35:13 | access to parameter x | non-null |
| Guards.cs:36:32:36:32 | access to parameter x | Guards.cs:35:13:35:13 | access to parameter x | Guards.cs:35:13:35:13 | access to parameter x | not null |
| Guards.cs:36:32:36:32 | access to parameter x | Guards.cs:35:13:35:21 | ... == ... | Guards.cs:35:13:35:13 | access to parameter x | false |
| Guards.cs:36:36:36:36 | access to parameter y | Guards.cs:35:26:35:26 | access to parameter y | Guards.cs:35:26:35:26 | access to parameter y | non-null |
| Guards.cs:36:36:36:36 | access to parameter y | Guards.cs:35:26:35:26 | access to parameter y | Guards.cs:35:26:35:26 | access to parameter y | not null |
| Guards.cs:36:36:36:36 | access to parameter y | Guards.cs:35:26:35:34 | ... == ... | Guards.cs:35:26:35:26 | access to parameter y | false |
| Guards.cs:39:31:39:31 | access to parameter x | Guards.cs:38:15:38:15 | access to parameter x | Guards.cs:38:15:38:15 | access to parameter x | non-null |
| Guards.cs:39:31:39:31 | access to parameter x | Guards.cs:38:15:38:15 | access to parameter x | Guards.cs:38:15:38:15 | access to parameter x | not null |
| Guards.cs:39:31:39:31 | access to parameter x | Guards.cs:38:15:38:23 | ... == ... | Guards.cs:38:15:38:15 | access to parameter x | false |
| Guards.cs:39:35:39:35 | access to parameter y | Guards.cs:38:28:38:28 | access to parameter y | Guards.cs:38:28:38:28 | access to parameter y | non-null |
| Guards.cs:39:35:39:35 | access to parameter y | Guards.cs:38:28:38:28 | access to parameter y | Guards.cs:38:28:38:28 | access to parameter y | not null |
| Guards.cs:39:35:39:35 | access to parameter y | Guards.cs:38:28:38:36 | ... == ... | Guards.cs:38:28:38:28 | access to parameter y | false |
| Guards.cs:42:32:42:32 | access to parameter x | Guards.cs:41:17:41:17 | access to parameter x | Guards.cs:41:17:41:17 | access to parameter x | non-null |
| Guards.cs:42:32:42:32 | access to parameter x | Guards.cs:41:17:41:17 | access to parameter x | Guards.cs:41:17:41:17 | access to parameter x | not null |
| Guards.cs:42:32:42:32 | access to parameter x | Guards.cs:41:17:41:25 | ... != ... | Guards.cs:41:17:41:17 | access to parameter x | true |
| Guards.cs:42:36:42:36 | access to parameter y | Guards.cs:41:30:41:30 | access to parameter y | Guards.cs:41:30:41:30 | access to parameter y | non-null |
| Guards.cs:42:36:42:36 | access to parameter y | Guards.cs:41:30:41:30 | access to parameter y | Guards.cs:41:30:41:30 | access to parameter y | not null |
| Guards.cs:42:36:42:36 | access to parameter y | Guards.cs:41:30:41:38 | ... != ... | Guards.cs:41:30:41:30 | access to parameter y | true |
| Guards.cs:48:31:48:40 | access to field Field | Guards.cs:47:13:47:17 | access to field Field | Guards.cs:47:13:47:17 | access to field Field | non-null |
| Guards.cs:48:31:48:40 | access to field Field | Guards.cs:47:13:47:17 | access to field Field | Guards.cs:47:13:47:17 | access to field Field | not null |
| Guards.cs:48:31:48:40 | access to field Field | Guards.cs:47:13:47:25 | ... != ... | Guards.cs:47:13:47:17 | access to field Field | true |
| Guards.cs:55:27:55:27 | access to parameter g | Guards.cs:53:13:53:19 | access to field Field | Guards.cs:53:13:53:13 | access to parameter g | non-null |
| Guards.cs:55:27:55:27 | access to parameter g | Guards.cs:53:13:53:19 | access to field Field | Guards.cs:53:13:53:13 | access to parameter g | not null |
| Guards.cs:55:27:55:27 | access to parameter g | Guards.cs:53:13:53:27 | ... == ... | Guards.cs:53:13:53:13 | access to parameter g | false |
| Guards.cs:55:27:55:33 | access to field Field | Guards.cs:53:13:53:19 | access to field Field | Guards.cs:53:13:53:19 | access to field Field | non-null |
| Guards.cs:55:27:55:33 | access to field Field | Guards.cs:53:13:53:19 | access to field Field | Guards.cs:53:13:53:19 | access to field Field | not null |
| Guards.cs:55:27:55:33 | access to field Field | Guards.cs:53:13:53:27 | ... == ... | Guards.cs:53:13:53:19 | access to field Field | false |
| Guards.cs:62:27:62:27 | access to parameter g | Guards.cs:60:13:60:37 | access to field Field | Guards.cs:60:13:60:13 | access to parameter g | non-null |
| Guards.cs:62:27:62:27 | access to parameter g | Guards.cs:60:13:60:37 | access to field Field | Guards.cs:60:13:60:13 | access to parameter g | not null |
| Guards.cs:62:27:62:27 | access to parameter g | Guards.cs:60:13:60:45 | ... == ... | Guards.cs:60:13:60:13 | access to parameter g | false |
| Guards.cs:62:27:62:36 | access to property Property | Guards.cs:60:13:60:37 | access to field Field | Guards.cs:60:13:60:22 | access to property Property | non-null |
| Guards.cs:62:27:62:36 | access to property Property | Guards.cs:60:13:60:37 | access to field Field | Guards.cs:60:13:60:22 | access to property Property | not null |
| Guards.cs:62:27:62:36 | access to property Property | Guards.cs:60:13:60:45 | ... == ... | Guards.cs:60:13:60:22 | access to property Property | false |
| Guards.cs:62:27:62:45 | access to property Property | Guards.cs:60:13:60:37 | access to field Field | Guards.cs:60:13:60:31 | access to property Property | non-null |
| Guards.cs:62:27:62:45 | access to property Property | Guards.cs:60:13:60:37 | access to field Field | Guards.cs:60:13:60:31 | access to property Property | not null |
| Guards.cs:62:27:62:45 | access to property Property | Guards.cs:60:13:60:45 | ... == ... | Guards.cs:60:13:60:31 | access to property Property | false |
| Guards.cs:62:27:62:51 | access to field Field | Guards.cs:60:13:60:37 | access to field Field | Guards.cs:60:13:60:37 | access to field Field | non-null |
| Guards.cs:62:27:62:51 | access to field Field | Guards.cs:60:13:60:37 | access to field Field | Guards.cs:60:13:60:37 | access to field Field | not null |
| Guards.cs:62:27:62:51 | access to field Field | Guards.cs:60:13:60:45 | ... == ... | Guards.cs:60:13:60:37 | access to field Field | false |
| Guards.cs:63:27:63:27 | access to parameter g | Guards.cs:60:13:60:37 | access to field Field | Guards.cs:60:13:60:13 | access to parameter g | non-null |
| Guards.cs:63:27:63:27 | access to parameter g | Guards.cs:60:13:60:37 | access to field Field | Guards.cs:60:13:60:13 | access to parameter g | not null |
| Guards.cs:63:27:63:27 | access to parameter g | Guards.cs:60:13:60:45 | ... == ... | Guards.cs:60:13:60:13 | access to parameter g | false |
| Guards.cs:63:27:63:36 | access to property Property | Guards.cs:60:13:60:37 | access to field Field | Guards.cs:60:13:60:22 | access to property Property | non-null |
| Guards.cs:63:27:63:36 | access to property Property | Guards.cs:60:13:60:37 | access to field Field | Guards.cs:60:13:60:22 | access to property Property | not null |
| Guards.cs:63:27:63:36 | access to property Property | Guards.cs:60:13:60:45 | ... == ... | Guards.cs:60:13:60:22 | access to property Property | false |
| Guards.cs:70:31:70:31 | access to parameter s | Guards.cs:68:16:68:16 | access to parameter s | Guards.cs:68:16:68:16 | access to parameter s | non-null |
| Guards.cs:70:31:70:31 | access to parameter s | Guards.cs:68:16:68:16 | access to parameter s | Guards.cs:68:16:68:16 | access to parameter s | not null |
| Guards.cs:70:31:70:31 | access to parameter s | Guards.cs:68:16:68:24 | ... != ... | Guards.cs:68:16:68:16 | access to parameter s | true |
| Guards.cs:79:31:79:31 | access to parameter s | Guards.cs:78:13:78:13 | access to parameter s | Guards.cs:78:13:78:13 | access to parameter s | non-null |
| Guards.cs:79:31:79:31 | access to parameter s | Guards.cs:78:13:78:21 | access to property Length | Guards.cs:78:13:78:13 | access to parameter s | non-null |
| Guards.cs:79:31:79:31 | access to parameter s | Guards.cs:78:13:78:13 | access to parameter s | Guards.cs:78:13:78:13 | access to parameter s | not null |
| Guards.cs:79:31:79:31 | access to parameter s | Guards.cs:78:13:78:21 | access to property Length | Guards.cs:78:13:78:13 | access to parameter s | not null |
| Guards.cs:79:31:79:31 | access to parameter s | Guards.cs:78:13:78:26 | ... == ... | Guards.cs:78:13:78:13 | access to parameter s | true |
| Guards.cs:81:31:81:31 | access to parameter s | Guards.cs:80:13:80:13 | access to parameter s | Guards.cs:80:13:80:13 | access to parameter s | non-null |
| Guards.cs:81:31:81:31 | access to parameter s | Guards.cs:80:13:80:21 | access to property Length | Guards.cs:80:13:80:13 | access to parameter s | non-null |
| Guards.cs:81:31:81:31 | access to parameter s | Guards.cs:80:13:80:13 | access to parameter s | Guards.cs:80:13:80:13 | access to parameter s | not null |
| Guards.cs:81:31:81:31 | access to parameter s | Guards.cs:80:13:80:21 | access to property Length | Guards.cs:80:13:80:13 | access to parameter s | not null |
| Guards.cs:81:31:81:31 | access to parameter s | Guards.cs:80:13:80:25 | ... > ... | Guards.cs:80:13:80:13 | access to parameter s | true |
| Guards.cs:83:31:83:31 | access to parameter s | Guards.cs:82:13:82:13 | access to parameter s | Guards.cs:82:13:82:13 | access to parameter s | non-null |
| Guards.cs:83:31:83:31 | access to parameter s | Guards.cs:82:13:82:21 | access to property Length | Guards.cs:82:13:82:13 | access to parameter s | non-null |
| Guards.cs:83:31:83:31 | access to parameter s | Guards.cs:82:13:82:13 | access to parameter s | Guards.cs:82:13:82:13 | access to parameter s | not null |
| Guards.cs:83:31:83:31 | access to parameter s | Guards.cs:82:13:82:21 | access to property Length | Guards.cs:82:13:82:13 | access to parameter s | not null |
| Guards.cs:83:31:83:31 | access to parameter s | Guards.cs:82:13:82:26 | ... >= ... | Guards.cs:82:13:82:13 | access to parameter s | true |
| Guards.cs:85:31:85:31 | access to parameter s | Guards.cs:84:13:84:13 | access to parameter s | Guards.cs:84:13:84:13 | access to parameter s | non-null |
| Guards.cs:85:31:85:31 | access to parameter s | Guards.cs:84:13:84:21 | access to property Length | Guards.cs:84:13:84:13 | access to parameter s | non-null |
| Guards.cs:85:31:85:31 | access to parameter s | Guards.cs:84:13:84:13 | access to parameter s | Guards.cs:84:13:84:13 | access to parameter s | not null |
| Guards.cs:85:31:85:31 | access to parameter s | Guards.cs:84:13:84:21 | access to property Length | Guards.cs:84:13:84:13 | access to parameter s | not null |
| Guards.cs:85:31:85:31 | access to parameter s | Guards.cs:84:13:84:26 | ... < ... | Guards.cs:84:13:84:13 | access to parameter s | true |
| Guards.cs:87:31:87:31 | access to parameter s | Guards.cs:86:13:86:13 | access to parameter s | Guards.cs:86:13:86:13 | access to parameter s | non-null |
| Guards.cs:87:31:87:31 | access to parameter s | Guards.cs:86:13:86:21 | access to property Length | Guards.cs:86:13:86:13 | access to parameter s | non-null |
| Guards.cs:87:31:87:31 | access to parameter s | Guards.cs:86:13:86:13 | access to parameter s | Guards.cs:86:13:86:13 | access to parameter s | not null |
| Guards.cs:87:31:87:31 | access to parameter s | Guards.cs:86:13:86:21 | access to property Length | Guards.cs:86:13:86:13 | access to parameter s | not null |
| Guards.cs:87:31:87:31 | access to parameter s | Guards.cs:86:13:86:27 | ... <= ... | Guards.cs:86:13:86:13 | access to parameter s | true |
| Guards.cs:89:31:89:31 | access to parameter s | Guards.cs:88:13:88:13 | access to parameter s | Guards.cs:88:13:88:13 | access to parameter s | non-null |
| Guards.cs:89:31:89:31 | access to parameter s | Guards.cs:88:13:88:21 | access to property Length | Guards.cs:88:13:88:13 | access to parameter s | non-null |
| Guards.cs:89:31:89:31 | access to parameter s | Guards.cs:88:13:88:13 | access to parameter s | Guards.cs:88:13:88:13 | access to parameter s | not null |
| Guards.cs:89:31:89:31 | access to parameter s | Guards.cs:88:13:88:21 | access to property Length | Guards.cs:88:13:88:13 | access to parameter s | not null |
| Guards.cs:89:31:89:31 | access to parameter s | Guards.cs:88:13:88:29 | ... != ... | Guards.cs:88:13:88:13 | access to parameter s | true |
| Guards.cs:91:31:91:31 | access to parameter s | Guards.cs:88:13:88:13 | access to parameter s | Guards.cs:88:13:88:13 | access to parameter s | null |
| Guards.cs:91:31:91:31 | access to parameter s | Guards.cs:88:13:88:21 | access to property Length | Guards.cs:88:13:88:13 | access to parameter s | null |
| Guards.cs:91:31:91:31 | access to parameter s | Guards.cs:88:13:88:29 | ... != ... | Guards.cs:88:13:88:13 | access to parameter s | false |
| Guards.cs:93:31:93:31 | access to parameter s | Guards.cs:92:13:92:30 | ... != ... | Guards.cs:92:13:92:13 | access to parameter s | true |
| Guards.cs:95:31:95:31 | access to parameter s | Guards.cs:92:13:92:13 | access to parameter s | Guards.cs:92:13:92:13 | access to parameter s | non-null |
| Guards.cs:95:31:95:31 | access to parameter s | Guards.cs:92:13:92:21 | access to property Length | Guards.cs:92:13:92:13 | access to parameter s | non-null |
| Guards.cs:95:31:95:31 | access to parameter s | Guards.cs:92:13:92:25 | ... - ... | Guards.cs:92:13:92:13 | access to parameter s | non-null |
| Guards.cs:95:31:95:31 | access to parameter s | Guards.cs:92:13:92:13 | access to parameter s | Guards.cs:92:13:92:13 | access to parameter s | not null |
| Guards.cs:95:31:95:31 | access to parameter s | Guards.cs:92:13:92:21 | access to property Length | Guards.cs:92:13:92:13 | access to parameter s | not null |
| Guards.cs:95:31:95:31 | access to parameter s | Guards.cs:92:13:92:25 | ... - ... | Guards.cs:92:13:92:13 | access to parameter s | not null |
| Guards.cs:95:31:95:31 | access to parameter s | Guards.cs:92:13:92:30 | ... != ... | Guards.cs:92:13:92:13 | access to parameter s | false |
| Guards.cs:97:31:97:31 | access to parameter s | Guards.cs:96:13:96:13 | access to parameter s | Guards.cs:96:13:96:13 | access to parameter s | non-null |
| Guards.cs:97:31:97:31 | access to parameter s | Guards.cs:96:13:96:13 | access to parameter s | Guards.cs:96:13:96:13 | access to parameter s | |
| Guards.cs:97:31:97:31 | access to parameter s | Guards.cs:96:13:96:13 | access to parameter s | Guards.cs:96:13:96:13 | access to parameter s | not null |
| Guards.cs:97:31:97:31 | access to parameter s | Guards.cs:96:13:96:19 | ... == ... | Guards.cs:96:13:96:13 | access to parameter s | true |
| Guards.cs:99:31:99:31 | access to parameter s | Guards.cs:96:13:96:13 | access to parameter s | Guards.cs:96:13:96:13 | access to parameter s | not |
| Guards.cs:99:31:99:31 | access to parameter s | Guards.cs:96:13:96:19 | ... == ... | Guards.cs:96:13:96:13 | access to parameter s | false |
| Guards.cs:106:9:106:9 | access to parameter g | Guards.cs:104:13:104:37 | access to field Field | Guards.cs:104:13:104:13 | access to parameter g | non-null |
| Guards.cs:106:9:106:9 | access to parameter g | Guards.cs:104:13:104:37 | access to field Field | Guards.cs:104:13:104:13 | access to parameter g | not null |
| Guards.cs:106:9:106:9 | access to parameter g | Guards.cs:104:13:104:45 | ... == ... | Guards.cs:104:13:104:13 | access to parameter g | false |
| Guards.cs:107:27:107:27 | access to parameter g | Guards.cs:104:13:104:37 | access to field Field | Guards.cs:104:13:104:13 | access to parameter g | non-null |
| Guards.cs:107:27:107:27 | access to parameter g | Guards.cs:104:13:104:37 | access to field Field | Guards.cs:104:13:104:13 | access to parameter g | not null |
| Guards.cs:107:27:107:27 | access to parameter g | Guards.cs:104:13:104:45 | ... == ... | Guards.cs:104:13:104:13 | access to parameter g | false |
| Guards.cs:108:27:108:27 | access to parameter g | Guards.cs:104:13:104:37 | access to field Field | Guards.cs:104:13:104:13 | access to parameter g | non-null |
| Guards.cs:108:27:108:27 | access to parameter g | Guards.cs:104:13:104:37 | access to field Field | Guards.cs:104:13:104:13 | access to parameter g | not null |
| Guards.cs:108:27:108:27 | access to parameter g | Guards.cs:104:13:104:45 | ... == ... | Guards.cs:104:13:104:13 | access to parameter g | false |
| Guards.cs:114:14:114:14 | access to parameter g | Guards.cs:113:21:113:45 | access to field Field | Guards.cs:113:21:113:21 | access to parameter g | null |
| Guards.cs:114:14:114:23 | access to property Property | Guards.cs:113:21:113:45 | access to field Field | Guards.cs:113:21:113:30 | access to property Property | null |
| Guards.cs:114:14:114:32 | access to property Property | Guards.cs:113:21:113:45 | access to field Field | Guards.cs:113:21:113:39 | access to property Property | null |
| Guards.cs:114:14:114:38 | access to field Field | Guards.cs:113:21:113:45 | access to field Field | Guards.cs:113:21:113:45 | access to field Field | null |
| Guards.cs:116:27:116:27 | access to parameter g | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:17 | access to parameter g | non-null |
| Guards.cs:116:27:116:36 | access to property Property | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:26 | access to property Property | non-null |
| Guards.cs:116:27:116:45 | access to property Property | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:35 | access to property Property | non-null |
| Guards.cs:116:27:116:51 | access to field Field | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:41 | access to field Field | non-null |
| Guards.cs:117:9:117:9 | access to parameter g | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:17 | access to parameter g | non-null |
| Guards.cs:118:27:118:27 | access to parameter g | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:17 | access to parameter g | non-null |
| Guards.cs:119:27:119:27 | access to parameter g | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:17 | access to parameter g | non-null |
| Guards.cs:125:29:125:30 | access to parameter s1 | Guards.cs:125:18:125:19 | access to parameter s1 | Guards.cs:125:18:125:19 | access to parameter s1 | non-null |
| Guards.cs:116:27:116:27 | access to parameter g | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:17 | access to parameter g | not null |
| Guards.cs:116:27:116:36 | access to property Property | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:26 | access to property Property | not null |
| Guards.cs:116:27:116:45 | access to property Property | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:35 | access to property Property | not null |
| Guards.cs:116:27:116:51 | access to field Field | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:41 | access to field Field | not null |
| Guards.cs:117:9:117:9 | access to parameter g | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:17 | access to parameter g | not null |
| Guards.cs:118:27:118:27 | access to parameter g | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:17 | access to parameter g | not null |
| Guards.cs:119:27:119:27 | access to parameter g | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:17 | access to parameter g | not null |
| Guards.cs:125:29:125:30 | access to parameter s1 | Guards.cs:125:18:125:19 | access to parameter s1 | Guards.cs:125:18:125:19 | access to parameter s1 | not null |
| Guards.cs:131:20:131:20 | access to parameter s | Guards.cs:130:13:130:13 | access to parameter s | Guards.cs:130:13:130:13 | access to parameter s | null |
| Guards.cs:131:20:131:20 | access to parameter s | Guards.cs:130:13:130:21 | ... is ... | Guards.cs:130:13:130:13 | access to parameter s | true |
| Guards.cs:132:16:132:16 | access to parameter s | Guards.cs:130:13:130:13 | access to parameter s | Guards.cs:130:13:130:13 | access to parameter s | non-null |
| Guards.cs:132:16:132:16 | access to parameter s | Guards.cs:130:13:130:13 | access to parameter s | Guards.cs:130:13:130:13 | access to parameter s | not null |
| Guards.cs:132:16:132:16 | access to parameter s | Guards.cs:130:13:130:21 | ... is ... | Guards.cs:130:13:130:13 | access to parameter s | false |
| Guards.cs:138:20:138:20 | access to parameter s | Guards.cs:137:13:137:13 | access to parameter s | Guards.cs:137:13:137:13 | access to parameter s | non-null |
| Guards.cs:138:20:138:20 | access to parameter s | Guards.cs:137:13:137:13 | access to parameter s | Guards.cs:137:13:137:13 | access to parameter s | not null |
| Guards.cs:138:20:138:20 | access to parameter s | Guards.cs:137:13:137:25 | ... is ... | Guards.cs:137:13:137:13 | access to parameter s | true |
| Guards.cs:139:16:139:16 | access to parameter s | Guards.cs:137:13:137:13 | access to parameter s | Guards.cs:137:13:137:13 | access to parameter s | null |
| Guards.cs:139:16:139:16 | access to parameter s | Guards.cs:137:13:137:25 | ... is ... | Guards.cs:137:13:137:13 | access to parameter s | false |
| Guards.cs:146:16:146:16 | access to parameter o | Guards.cs:144:13:144:25 | ... is ... | Guards.cs:144:13:144:13 | access to parameter o | false |
| Guards.cs:154:24:154:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | match access to type Action<Object> |
| Guards.cs:154:24:154:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | non-null |
| Guards.cs:158:24:158:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | match "" |
| Guards.cs:158:24:158:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | non-match Action<String> a |
| Guards.cs:158:24:158:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | non-match access to type Action<Object> |
| Guards.cs:158:24:158:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | non-null |
| Guards.cs:160:24:160:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | match null |
| Guards.cs:160:24:160:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | non-match "" |
| Guards.cs:160:24:160:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | non-match Action<String> a |
| Guards.cs:160:24:160:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | non-match access to type Action<Object> |
| Guards.cs:154:24:154:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | not null |
| Guards.cs:158:24:158:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | |
| Guards.cs:158:24:158:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | not null |
| Guards.cs:160:24:160:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | not |
| Guards.cs:160:24:160:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | null |
| Guards.cs:162:24:162:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | non-match "" |
| Guards.cs:162:24:162:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | non-match Action<String> a |
| Guards.cs:162:24:162:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | non-match access to type Action<Object> |
| Guards.cs:162:24:162:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | non-match null |
| Guards.cs:162:24:162:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | non-null |
| Guards.cs:162:24:162:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | not |
| Guards.cs:162:24:162:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | not null |
| Guards.cs:169:31:169:31 | access to parameter x | Guards.cs:168:14:168:41 | call to method IsNullOrWhiteSpace | Guards.cs:168:40:168:40 | access to parameter x | false |
| Guards.cs:169:31:169:31 | access to parameter x | Guards.cs:168:40:168:40 | access to parameter x | Guards.cs:168:40:168:40 | access to parameter x | non-null |
| Guards.cs:169:31:169:31 | access to parameter x | Guards.cs:168:40:168:40 | access to parameter x | Guards.cs:168:40:168:40 | access to parameter x | not null |
| Guards.cs:190:31:190:31 | access to parameter s | Guards.cs:189:14:189:25 | call to method NullTest1 | Guards.cs:189:24:189:24 | access to parameter s | false |
| Guards.cs:190:31:190:31 | access to parameter s | Guards.cs:189:24:189:24 | access to parameter s | Guards.cs:189:24:189:24 | access to parameter s | non-null |
| Guards.cs:190:31:190:31 | access to parameter s | Guards.cs:189:24:189:24 | access to parameter s | Guards.cs:189:24:189:24 | access to parameter s | not null |
| Guards.cs:192:31:192:31 | access to parameter s | Guards.cs:191:14:191:25 | call to method NullTest2 | Guards.cs:191:24:191:24 | access to parameter s | false |
| Guards.cs:192:31:192:31 | access to parameter s | Guards.cs:191:24:191:24 | access to parameter s | Guards.cs:191:24:191:24 | access to parameter s | non-null |
| Guards.cs:192:31:192:31 | access to parameter s | Guards.cs:191:24:191:24 | access to parameter s | Guards.cs:191:24:191:24 | access to parameter s | not null |
| Guards.cs:194:31:194:31 | access to parameter s | Guards.cs:193:14:193:25 | call to method NullTest3 | Guards.cs:193:24:193:24 | access to parameter s | false |
| Guards.cs:194:31:194:31 | access to parameter s | Guards.cs:193:24:193:24 | access to parameter s | Guards.cs:193:24:193:24 | access to parameter s | non-null |
| Guards.cs:194:31:194:31 | access to parameter s | Guards.cs:193:24:193:24 | access to parameter s | Guards.cs:193:24:193:24 | access to parameter s | not null |
| Guards.cs:196:31:196:31 | access to parameter s | Guards.cs:195:13:195:27 | call to method NotNullTest4 | Guards.cs:195:26:195:26 | access to parameter s | true |
| Guards.cs:196:31:196:31 | access to parameter s | Guards.cs:195:26:195:26 | access to parameter s | Guards.cs:195:26:195:26 | access to parameter s | non-null |
| Guards.cs:196:31:196:31 | access to parameter s | Guards.cs:195:26:195:26 | access to parameter s | Guards.cs:195:26:195:26 | access to parameter s | not null |
| Guards.cs:198:31:198:31 | access to parameter s | Guards.cs:197:14:197:29 | call to method NullTestWrong | Guards.cs:197:28:197:28 | access to parameter s | false |
| Guards.cs:205:13:205:13 | access to parameter o | Guards.cs:203:13:203:13 | access to parameter o | Guards.cs:203:13:203:13 | access to parameter o | non-null |
| Guards.cs:205:13:205:13 | access to parameter o | Guards.cs:203:13:203:13 | access to parameter o | Guards.cs:203:13:203:13 | access to parameter o | not null |
| Guards.cs:205:13:205:13 | access to parameter o | Guards.cs:203:13:203:21 | ... != ... | Guards.cs:203:13:203:13 | access to parameter o | true |
| Guards.cs:208:17:208:17 | access to parameter o | Guards.cs:203:13:203:13 | access to parameter o | Guards.cs:203:13:203:13 | access to parameter o | non-null |
| Guards.cs:208:17:208:17 | access to parameter o | Guards.cs:203:13:203:13 | access to parameter o | Guards.cs:203:13:203:13 | access to parameter o | not null |
| Guards.cs:208:17:208:17 | access to parameter o | Guards.cs:203:13:203:21 | ... != ... | Guards.cs:203:13:203:13 | access to parameter o | true |
| Guards.cs:269:13:269:14 | access to parameter o1 | Guards.cs:268:13:268:14 | access to parameter o1 | Guards.cs:268:13:268:14 | access to parameter o1 | non-null |
| Guards.cs:269:13:269:14 | access to parameter o1 | Guards.cs:268:13:268:25 | call to method GetType | Guards.cs:268:13:268:14 | access to parameter o1 | non-null |
| Guards.cs:269:13:269:14 | access to parameter o1 | Guards.cs:268:13:268:14 | access to parameter o1 | Guards.cs:268:13:268:14 | access to parameter o1 | not null |
| Guards.cs:269:13:269:14 | access to parameter o1 | Guards.cs:268:13:268:25 | call to method GetType | Guards.cs:268:13:268:14 | access to parameter o1 | not null |
| Guards.cs:269:13:269:14 | access to parameter o1 | Guards.cs:268:13:268:41 | call to operator == | Guards.cs:268:13:268:14 | access to parameter o1 | true |
| Guards.cs:271:13:271:14 | access to parameter o1 | Guards.cs:270:13:270:42 | call to operator == | Guards.cs:270:13:270:14 | access to parameter o1 | true |
| Guards.cs:279:17:279:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | match access to type Action<Object> |
| Guards.cs:279:17:279:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | non-null |
| Guards.cs:283:17:283:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | match "" |
| Guards.cs:283:17:283:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | non-match Action<String> a |
| Guards.cs:283:17:283:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | non-match access to type Action<Object> |
| Guards.cs:283:17:283:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | non-null |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | match null |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | non-match "" |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | non-match Action<String> a |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | non-match access to type Action<Object> |
| Guards.cs:279:17:279:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | not null |
| Guards.cs:279:17:279:17 | access to parameter o | Guards.cs:278:13:279:28 | ... => ... | Guards.cs:279:17:279:17 | access to parameter o | true |
| Guards.cs:279:17:279:28 | call to method ToString | Guards.cs:278:13:279:28 | ... => ... | Guards.cs:279:17:279:28 | call to method ToString | true |
| Guards.cs:281:17:281:17 | access to local variable a | Guards.cs:280:13:281:28 | ... => ... | Guards.cs:281:17:281:17 | access to local variable a | true |
| Guards.cs:281:17:281:28 | call to method ToString | Guards.cs:280:13:281:28 | ... => ... | Guards.cs:281:17:281:28 | call to method ToString | true |
| Guards.cs:283:17:283:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | |
| Guards.cs:283:17:283:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | not null |
| Guards.cs:283:17:283:17 | access to parameter o | Guards.cs:278:13:279:28 | ... => ... | Guards.cs:279:17:279:17 | access to parameter o | false |
| Guards.cs:283:17:283:17 | access to parameter o | Guards.cs:282:13:283:28 | ... => ... | Guards.cs:283:17:283:17 | access to parameter o | true |
| Guards.cs:283:17:283:28 | call to method ToString | Guards.cs:278:13:279:28 | ... => ... | Guards.cs:279:17:279:28 | call to method ToString | false |
| Guards.cs:283:17:283:28 | call to method ToString | Guards.cs:282:13:283:28 | ... => ... | Guards.cs:283:17:283:28 | call to method ToString | true |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | not |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | null |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | match _ |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | non-match "" |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | non-match Action<String> a |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | non-match access to type Action<Object> |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | non-match null |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | non-null |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:278:13:279:28 | ... => ... | Guards.cs:279:17:279:17 | access to parameter o | false |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:282:13:283:28 | ... => ... | Guards.cs:283:17:283:17 | access to parameter o | false |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:284:13:285:28 | ... => ... | Guards.cs:285:17:285:17 | access to parameter o | true |
| Guards.cs:285:17:285:28 | call to method ToString | Guards.cs:278:13:279:28 | ... => ... | Guards.cs:279:17:279:28 | call to method ToString | false |
| Guards.cs:285:17:285:28 | call to method ToString | Guards.cs:282:13:283:28 | ... => ... | Guards.cs:283:17:283:28 | call to method ToString | false |
| Guards.cs:285:17:285:28 | call to method ToString | Guards.cs:284:13:285:28 | ... => ... | Guards.cs:285:17:285:28 | call to method ToString | true |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | not |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | not null |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:278:13:279:28 | ... => ... | Guards.cs:279:17:279:17 | access to parameter o | false |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:282:13:283:28 | ... => ... | Guards.cs:283:17:283:17 | access to parameter o | false |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:284:13:285:28 | ... => ... | Guards.cs:285:17:285:17 | access to parameter o | false |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:286:13:287:28 | ... => ... | Guards.cs:287:17:287:17 | access to parameter o | true |
| Guards.cs:287:17:287:28 | call to method ToString | Guards.cs:278:13:279:28 | ... => ... | Guards.cs:279:17:279:28 | call to method ToString | false |
| Guards.cs:287:17:287:28 | call to method ToString | Guards.cs:282:13:283:28 | ... => ... | Guards.cs:283:17:283:28 | call to method ToString | false |
| Guards.cs:287:17:287:28 | call to method ToString | Guards.cs:284:13:285:28 | ... => ... | Guards.cs:285:17:285:28 | call to method ToString | false |
| Guards.cs:287:17:287:28 | call to method ToString | Guards.cs:286:13:287:28 | ... => ... | Guards.cs:287:17:287:28 | call to method ToString | true |
| Guards.cs:342:27:342:27 | access to parameter b | Guards.cs:341:20:341:20 | access to parameter b | Guards.cs:341:20:341:20 | access to parameter b | false |
| Guards.cs:342:27:342:27 | access to parameter b | Guards.cs:341:20:341:32 | ... ? ... : ... | Guards.cs:341:20:341:20 | access to parameter b | non-null |
| Guards.cs:343:31:343:31 | access to local variable s | Guards.cs:342:13:342:13 | access to local variable s | Guards.cs:342:13:342:13 | access to local variable s | non-null |
| Guards.cs:342:27:342:27 | access to parameter b | Guards.cs:341:20:341:32 | ... ? ... : ... | Guards.cs:341:20:341:20 | access to parameter b | not null |
| Guards.cs:343:31:343:31 | access to local variable s | Guards.cs:342:13:342:13 | access to local variable s | Guards.cs:342:13:342:13 | access to local variable s | not null |
| Guards.cs:343:31:343:31 | access to local variable s | Guards.cs:342:13:342:21 | ... != ... | Guards.cs:342:13:342:13 | access to local variable s | true |
| Guards.cs:349:13:349:13 | access to parameter o | Guards.cs:348:13:348:13 | access to parameter o | Guards.cs:348:13:348:13 | access to parameter o | non-null |
| Guards.cs:349:13:349:13 | access to parameter o | Guards.cs:348:13:348:13 | access to parameter o | Guards.cs:348:13:348:13 | access to parameter o | not null |
| Guards.cs:349:13:349:13 | access to parameter o | Guards.cs:348:13:348:25 | ... is ... | Guards.cs:348:13:348:13 | access to parameter o | true |

View File

@@ -1,22 +1,29 @@
| Assert.cs:11:27:11:27 | access to local variable s | Assert.cs:10:22:10:22 | access to local variable s | Assert.cs:10:22:10:22 | access to local variable s | non-null |
| Assert.cs:11:27:11:27 | access to local variable s | Assert.cs:10:9:10:31 | call to method Assert | Assert.cs:10:22:10:22 | access to local variable s | no exception |
| Assert.cs:11:27:11:27 | access to local variable s | Assert.cs:10:22:10:22 | access to local variable s | Assert.cs:10:22:10:22 | access to local variable s | not null |
| Assert.cs:11:27:11:27 | access to local variable s | Assert.cs:10:22:10:30 | ... != ... | Assert.cs:10:22:10:22 | access to local variable s | true |
| Assert.cs:18:27:18:27 | access to local variable s | Assert.cs:17:9:17:24 | call to method IsNull | Assert.cs:17:23:17:23 | access to local variable s | no exception |
| Assert.cs:18:27:18:27 | access to local variable s | Assert.cs:17:23:17:23 | access to local variable s | Assert.cs:17:23:17:23 | access to local variable s | null |
| Assert.cs:25:27:25:27 | access to local variable s | Assert.cs:24:26:24:26 | access to local variable s | Assert.cs:24:26:24:26 | access to local variable s | non-null |
| Assert.cs:25:27:25:27 | access to local variable s | Assert.cs:24:9:24:27 | call to method IsNotNull | Assert.cs:24:26:24:26 | access to local variable s | no exception |
| Assert.cs:25:27:25:27 | access to local variable s | Assert.cs:24:26:24:26 | access to local variable s | Assert.cs:24:26:24:26 | access to local variable s | not null |
| Assert.cs:32:27:32:27 | access to local variable s | Assert.cs:31:9:31:32 | call to method IsTrue | Assert.cs:31:23:31:23 | access to local variable s | no exception |
| Assert.cs:32:27:32:27 | access to local variable s | Assert.cs:31:23:31:23 | access to local variable s | Assert.cs:31:23:31:23 | access to local variable s | null |
| Assert.cs:32:27:32:27 | access to local variable s | Assert.cs:31:23:31:31 | ... == ... | Assert.cs:31:23:31:23 | access to local variable s | true |
| Assert.cs:39:27:39:27 | access to local variable s | Assert.cs:38:23:38:23 | access to local variable s | Assert.cs:38:23:38:23 | access to local variable s | non-null |
| Assert.cs:39:27:39:27 | access to local variable s | Assert.cs:38:9:38:32 | call to method IsTrue | Assert.cs:38:23:38:23 | access to local variable s | no exception |
| Assert.cs:39:27:39:27 | access to local variable s | Assert.cs:38:23:38:23 | access to local variable s | Assert.cs:38:23:38:23 | access to local variable s | not null |
| Assert.cs:39:27:39:27 | access to local variable s | Assert.cs:38:23:38:31 | ... != ... | Assert.cs:38:23:38:23 | access to local variable s | true |
| Assert.cs:46:27:46:27 | access to local variable s | Assert.cs:45:9:45:33 | call to method IsFalse | Assert.cs:45:24:45:24 | access to local variable s | no exception |
| Assert.cs:46:27:46:27 | access to local variable s | Assert.cs:45:24:45:24 | access to local variable s | Assert.cs:45:24:45:24 | access to local variable s | null |
| Assert.cs:46:27:46:27 | access to local variable s | Assert.cs:45:24:45:32 | ... != ... | Assert.cs:45:24:45:24 | access to local variable s | false |
| Assert.cs:53:27:53:27 | access to local variable s | Assert.cs:52:24:52:24 | access to local variable s | Assert.cs:52:24:52:24 | access to local variable s | non-null |
| Assert.cs:53:27:53:27 | access to local variable s | Assert.cs:52:9:52:33 | call to method IsFalse | Assert.cs:52:24:52:24 | access to local variable s | no exception |
| Assert.cs:53:27:53:27 | access to local variable s | Assert.cs:52:24:52:24 | access to local variable s | Assert.cs:52:24:52:24 | access to local variable s | not null |
| Assert.cs:53:27:53:27 | access to local variable s | Assert.cs:52:24:52:32 | ... == ... | Assert.cs:52:24:52:24 | access to local variable s | false |
| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:58:20:58:20 | access to parameter b | Assert.cs:58:20:58:20 | access to parameter b | false |
| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:58:20:58:20 | access to parameter b | non-null |
| Assert.cs:60:27:60:27 | access to local variable s | Assert.cs:59:23:59:23 | access to local variable s | Assert.cs:59:23:59:23 | access to local variable s | non-null |
| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:58:20:58:20 | access to parameter b | not null |
| Assert.cs:60:27:60:27 | access to local variable s | Assert.cs:59:23:59:23 | access to local variable s | Assert.cs:59:23:59:23 | access to local variable s | not null |
| Assert.cs:60:27:60:27 | access to local variable s | Assert.cs:59:23:59:31 | ... != ... | Assert.cs:59:23:59:23 | access to local variable s | true |
| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:65:20:65:20 | access to parameter b | Assert.cs:65:20:65:20 | access to parameter b | false |
| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:65:20:65:20 | access to parameter b | non-null |
| Assert.cs:67:27:67:27 | access to local variable s | Assert.cs:66:24:66:24 | access to local variable s | Assert.cs:66:24:66:24 | access to local variable s | non-null |
| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:65:20:65:20 | access to parameter b | not null |
| Assert.cs:67:27:67:27 | access to local variable s | Assert.cs:66:24:66:24 | access to local variable s | Assert.cs:66:24:66:24 | access to local variable s | not null |
| Assert.cs:67:27:67:27 | access to local variable s | Assert.cs:66:24:66:32 | ... == ... | Assert.cs:66:24:66:24 | access to local variable s | false |
| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:72:20:72:20 | access to parameter b | Assert.cs:72:20:72:20 | access to parameter b | true |
| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:72:20:72:20 | access to parameter b | null |
@@ -26,170 +33,180 @@
| Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:79:20:79:20 | access to parameter b | null |
| Assert.cs:81:27:81:27 | access to local variable s | Assert.cs:80:24:80:24 | access to local variable s | Assert.cs:80:24:80:24 | access to local variable s | null |
| Assert.cs:81:27:81:27 | access to local variable s | Assert.cs:80:24:80:32 | ... != ... | Assert.cs:80:24:80:24 | access to local variable s | false |
| Assert.cs:94:16:94:17 | access to parameter b1 | Assert.cs:93:9:93:35 | call to method AssertTrueFalse | Assert.cs:93:25:93:26 | access to parameter b1 | no exception |
| Assert.cs:94:16:94:17 | access to parameter b1 | Assert.cs:93:25:93:26 | access to parameter b1 | Assert.cs:93:25:93:26 | access to parameter b1 | true |
| Assert.cs:94:23:94:24 | access to parameter b2 | Assert.cs:93:9:93:35 | call to method AssertTrueFalse | Assert.cs:93:29:93:30 | access to parameter b2 | no exception |
| Assert.cs:94:23:94:24 | access to parameter b2 | Assert.cs:93:9:93:35 | call to method AssertTrueFalse | Assert.cs:93:33:93:34 | access to parameter b2 | no exception |
| Assert.cs:94:23:94:24 | access to parameter b2 | Assert.cs:93:29:93:30 | access to parameter b2 | Assert.cs:93:29:93:30 | access to parameter b2 | false |
| Collections.cs:51:17:51:20 | access to parameter args | Collections.cs:49:13:49:16 | access to parameter args | Collections.cs:49:13:49:16 | access to parameter args | non-empty |
| Collections.cs:51:17:51:20 | access to parameter args | Collections.cs:49:13:49:22 | access to property Count | Collections.cs:49:13:49:16 | access to parameter args | not 0 |
| Collections.cs:51:17:51:20 | access to parameter args | Collections.cs:49:13:49:27 | ... == ... | Collections.cs:49:13:49:16 | access to parameter args | false |
| Collections.cs:52:9:52:12 | access to parameter args | Collections.cs:49:13:49:22 | access to property Count | Collections.cs:49:13:49:16 | access to parameter args | not 0 |
| Collections.cs:52:9:52:12 | access to parameter args | Collections.cs:49:13:49:27 | ... == ... | Collections.cs:49:13:49:16 | access to parameter args | false |
| Collections.cs:53:13:53:16 | access to parameter args | Collections.cs:49:13:49:22 | access to property Count | Collections.cs:49:13:49:16 | access to parameter args | not 0 |
| Collections.cs:53:13:53:16 | access to parameter args | Collections.cs:49:13:49:27 | ... == ... | Collections.cs:49:13:49:16 | access to parameter args | false |
| Collections.cs:66:13:66:13 | access to local variable x | Collections.cs:64:13:64:13 | access to local variable x | Collections.cs:64:13:64:13 | access to local variable x | empty |
| Collections.cs:66:13:66:13 | access to local variable x | Collections.cs:64:13:64:19 | access to property Count | Collections.cs:64:13:64:13 | access to local variable x | 0 |
| Collections.cs:66:13:66:13 | access to local variable x | Collections.cs:64:13:64:24 | ... == ... | Collections.cs:64:13:64:13 | access to local variable x | true |
| Collections.cs:67:13:67:13 | access to local variable x | Collections.cs:64:13:64:19 | access to property Count | Collections.cs:64:13:64:13 | access to local variable x | 0 |
| Collections.cs:67:13:67:13 | access to local variable x | Collections.cs:64:13:64:24 | ... == ... | Collections.cs:64:13:64:13 | access to local variable x | true |
| Collections.cs:95:31:95:34 | access to parameter args | Collections.cs:94:29:94:32 | access to parameter args | Collections.cs:94:29:94:32 | access to parameter args | non-empty |
| Guards.cs:12:13:12:13 | access to parameter s | Guards.cs:10:16:10:16 | access to parameter s | Guards.cs:10:16:10:16 | access to parameter s | non-null |
| Guards.cs:12:13:12:13 | access to parameter s | Guards.cs:10:16:10:16 | access to parameter s | Guards.cs:10:16:10:16 | access to parameter s | not null |
| Guards.cs:12:13:12:13 | access to parameter s | Guards.cs:10:16:10:24 | ... == ... | Guards.cs:10:16:10:16 | access to parameter s | false |
| Guards.cs:14:31:14:31 | access to parameter s | Guards.cs:10:16:10:16 | access to parameter s | Guards.cs:10:16:10:16 | access to parameter s | non-null |
| Guards.cs:14:31:14:31 | access to parameter s | Guards.cs:10:16:10:16 | access to parameter s | Guards.cs:10:16:10:16 | access to parameter s | not null |
| Guards.cs:14:31:14:31 | access to parameter s | Guards.cs:10:16:10:24 | ... == ... | Guards.cs:10:16:10:16 | access to parameter s | false |
| Guards.cs:14:31:14:31 | access to parameter s | Guards.cs:12:13:12:24 | ... > ... | Guards.cs:12:13:12:13 | access to parameter s | true |
| Guards.cs:26:31:26:31 | access to parameter s | Guards.cs:24:13:24:13 | access to parameter s | Guards.cs:24:13:24:13 | access to parameter s | non-null |
| Guards.cs:26:31:26:31 | access to parameter s | Guards.cs:24:13:24:13 | access to parameter s | Guards.cs:24:13:24:13 | access to parameter s | not null |
| Guards.cs:26:31:26:31 | access to parameter s | Guards.cs:24:13:24:21 | ... != ... | Guards.cs:24:13:24:13 | access to parameter s | true |
| Guards.cs:33:31:33:31 | access to parameter x | Guards.cs:32:14:32:36 | call to method IsNullOrEmpty | Guards.cs:32:35:32:35 | access to parameter x | false |
| Guards.cs:33:31:33:31 | access to parameter x | Guards.cs:32:35:32:35 | access to parameter x | Guards.cs:32:35:32:35 | access to parameter x | non-null |
| Guards.cs:33:35:33:35 | access to parameter y | Guards.cs:32:42:32:42 | access to parameter y | Guards.cs:32:42:32:42 | access to parameter y | non-null |
| Guards.cs:33:31:33:31 | access to parameter x | Guards.cs:32:35:32:35 | access to parameter x | Guards.cs:32:35:32:35 | access to parameter x | not null |
| Guards.cs:33:35:33:35 | access to parameter y | Guards.cs:32:42:32:42 | access to parameter y | Guards.cs:32:42:32:42 | access to parameter y | not null |
| Guards.cs:33:35:33:35 | access to parameter y | Guards.cs:32:42:32:50 | ... == ... | Guards.cs:32:42:32:42 | access to parameter y | false |
| Guards.cs:36:32:36:32 | access to parameter x | Guards.cs:35:13:35:13 | access to parameter x | Guards.cs:35:13:35:13 | access to parameter x | non-null |
| Guards.cs:36:32:36:32 | access to parameter x | Guards.cs:35:13:35:13 | access to parameter x | Guards.cs:35:13:35:13 | access to parameter x | not null |
| Guards.cs:36:32:36:32 | access to parameter x | Guards.cs:35:13:35:21 | ... == ... | Guards.cs:35:13:35:13 | access to parameter x | false |
| Guards.cs:36:36:36:36 | access to parameter y | Guards.cs:35:26:35:26 | access to parameter y | Guards.cs:35:26:35:26 | access to parameter y | non-null |
| Guards.cs:36:36:36:36 | access to parameter y | Guards.cs:35:26:35:26 | access to parameter y | Guards.cs:35:26:35:26 | access to parameter y | not null |
| Guards.cs:36:36:36:36 | access to parameter y | Guards.cs:35:26:35:34 | ... == ... | Guards.cs:35:26:35:26 | access to parameter y | false |
| Guards.cs:39:31:39:31 | access to parameter x | Guards.cs:38:15:38:15 | access to parameter x | Guards.cs:38:15:38:15 | access to parameter x | non-null |
| Guards.cs:39:31:39:31 | access to parameter x | Guards.cs:38:15:38:15 | access to parameter x | Guards.cs:38:15:38:15 | access to parameter x | not null |
| Guards.cs:39:31:39:31 | access to parameter x | Guards.cs:38:15:38:23 | ... == ... | Guards.cs:38:15:38:15 | access to parameter x | false |
| Guards.cs:39:35:39:35 | access to parameter y | Guards.cs:38:28:38:28 | access to parameter y | Guards.cs:38:28:38:28 | access to parameter y | non-null |
| Guards.cs:39:35:39:35 | access to parameter y | Guards.cs:38:28:38:28 | access to parameter y | Guards.cs:38:28:38:28 | access to parameter y | not null |
| Guards.cs:39:35:39:35 | access to parameter y | Guards.cs:38:28:38:36 | ... == ... | Guards.cs:38:28:38:28 | access to parameter y | false |
| Guards.cs:42:32:42:32 | access to parameter x | Guards.cs:41:17:41:17 | access to parameter x | Guards.cs:41:17:41:17 | access to parameter x | non-null |
| Guards.cs:42:32:42:32 | access to parameter x | Guards.cs:41:17:41:17 | access to parameter x | Guards.cs:41:17:41:17 | access to parameter x | not null |
| Guards.cs:42:32:42:32 | access to parameter x | Guards.cs:41:17:41:25 | ... != ... | Guards.cs:41:17:41:17 | access to parameter x | true |
| Guards.cs:42:36:42:36 | access to parameter y | Guards.cs:41:30:41:30 | access to parameter y | Guards.cs:41:30:41:30 | access to parameter y | non-null |
| Guards.cs:42:36:42:36 | access to parameter y | Guards.cs:41:30:41:30 | access to parameter y | Guards.cs:41:30:41:30 | access to parameter y | not null |
| Guards.cs:42:36:42:36 | access to parameter y | Guards.cs:41:30:41:38 | ... != ... | Guards.cs:41:30:41:30 | access to parameter y | true |
| Guards.cs:48:31:48:40 | access to field Field | Guards.cs:47:13:47:17 | access to field Field | Guards.cs:47:13:47:17 | access to field Field | non-null |
| Guards.cs:48:31:48:40 | access to field Field | Guards.cs:47:13:47:17 | access to field Field | Guards.cs:47:13:47:17 | access to field Field | not null |
| Guards.cs:48:31:48:40 | access to field Field | Guards.cs:47:13:47:25 | ... != ... | Guards.cs:47:13:47:17 | access to field Field | true |
| Guards.cs:55:27:55:27 | access to parameter g | Guards.cs:53:13:53:19 | access to field Field | Guards.cs:53:13:53:13 | access to parameter g | non-null |
| Guards.cs:55:27:55:27 | access to parameter g | Guards.cs:53:13:53:19 | access to field Field | Guards.cs:53:13:53:13 | access to parameter g | not null |
| Guards.cs:55:27:55:27 | access to parameter g | Guards.cs:53:13:53:27 | ... == ... | Guards.cs:53:13:53:13 | access to parameter g | false |
| Guards.cs:55:27:55:33 | access to field Field | Guards.cs:53:13:53:19 | access to field Field | Guards.cs:53:13:53:19 | access to field Field | non-null |
| Guards.cs:55:27:55:33 | access to field Field | Guards.cs:53:13:53:19 | access to field Field | Guards.cs:53:13:53:19 | access to field Field | not null |
| Guards.cs:55:27:55:33 | access to field Field | Guards.cs:53:13:53:27 | ... == ... | Guards.cs:53:13:53:19 | access to field Field | false |
| Guards.cs:62:27:62:27 | access to parameter g | Guards.cs:60:13:60:37 | access to field Field | Guards.cs:60:13:60:13 | access to parameter g | non-null |
| Guards.cs:62:27:62:27 | access to parameter g | Guards.cs:60:13:60:37 | access to field Field | Guards.cs:60:13:60:13 | access to parameter g | not null |
| Guards.cs:62:27:62:27 | access to parameter g | Guards.cs:60:13:60:45 | ... == ... | Guards.cs:60:13:60:13 | access to parameter g | false |
| Guards.cs:62:27:62:36 | access to property Property | Guards.cs:60:13:60:37 | access to field Field | Guards.cs:60:13:60:22 | access to property Property | non-null |
| Guards.cs:62:27:62:36 | access to property Property | Guards.cs:60:13:60:37 | access to field Field | Guards.cs:60:13:60:22 | access to property Property | not null |
| Guards.cs:62:27:62:36 | access to property Property | Guards.cs:60:13:60:45 | ... == ... | Guards.cs:60:13:60:22 | access to property Property | false |
| Guards.cs:62:27:62:45 | access to property Property | Guards.cs:60:13:60:37 | access to field Field | Guards.cs:60:13:60:31 | access to property Property | non-null |
| Guards.cs:62:27:62:45 | access to property Property | Guards.cs:60:13:60:37 | access to field Field | Guards.cs:60:13:60:31 | access to property Property | not null |
| Guards.cs:62:27:62:45 | access to property Property | Guards.cs:60:13:60:45 | ... == ... | Guards.cs:60:13:60:31 | access to property Property | false |
| Guards.cs:62:27:62:51 | access to field Field | Guards.cs:60:13:60:37 | access to field Field | Guards.cs:60:13:60:37 | access to field Field | non-null |
| Guards.cs:62:27:62:51 | access to field Field | Guards.cs:60:13:60:37 | access to field Field | Guards.cs:60:13:60:37 | access to field Field | not null |
| Guards.cs:62:27:62:51 | access to field Field | Guards.cs:60:13:60:45 | ... == ... | Guards.cs:60:13:60:37 | access to field Field | false |
| Guards.cs:63:27:63:27 | access to parameter g | Guards.cs:60:13:60:37 | access to field Field | Guards.cs:60:13:60:13 | access to parameter g | non-null |
| Guards.cs:63:27:63:27 | access to parameter g | Guards.cs:60:13:60:37 | access to field Field | Guards.cs:60:13:60:13 | access to parameter g | not null |
| Guards.cs:63:27:63:27 | access to parameter g | Guards.cs:60:13:60:45 | ... == ... | Guards.cs:60:13:60:13 | access to parameter g | false |
| Guards.cs:63:27:63:36 | access to property Property | Guards.cs:60:13:60:37 | access to field Field | Guards.cs:60:13:60:22 | access to property Property | non-null |
| Guards.cs:63:27:63:36 | access to property Property | Guards.cs:60:13:60:37 | access to field Field | Guards.cs:60:13:60:22 | access to property Property | not null |
| Guards.cs:63:27:63:36 | access to property Property | Guards.cs:60:13:60:45 | ... == ... | Guards.cs:60:13:60:22 | access to property Property | false |
| Guards.cs:70:31:70:31 | access to parameter s | Guards.cs:68:16:68:16 | access to parameter s | Guards.cs:68:16:68:16 | access to parameter s | non-null |
| Guards.cs:70:31:70:31 | access to parameter s | Guards.cs:68:16:68:16 | access to parameter s | Guards.cs:68:16:68:16 | access to parameter s | not null |
| Guards.cs:70:31:70:31 | access to parameter s | Guards.cs:68:16:68:24 | ... != ... | Guards.cs:68:16:68:16 | access to parameter s | true |
| Guards.cs:79:31:79:31 | access to parameter s | Guards.cs:78:13:78:13 | access to parameter s | Guards.cs:78:13:78:13 | access to parameter s | non-null |
| Guards.cs:79:31:79:31 | access to parameter s | Guards.cs:78:13:78:21 | access to property Length | Guards.cs:78:13:78:13 | access to parameter s | non-null |
| Guards.cs:79:31:79:31 | access to parameter s | Guards.cs:78:13:78:13 | access to parameter s | Guards.cs:78:13:78:13 | access to parameter s | not null |
| Guards.cs:79:31:79:31 | access to parameter s | Guards.cs:78:13:78:21 | access to property Length | Guards.cs:78:13:78:13 | access to parameter s | not null |
| Guards.cs:79:31:79:31 | access to parameter s | Guards.cs:78:13:78:26 | ... == ... | Guards.cs:78:13:78:13 | access to parameter s | true |
| Guards.cs:81:31:81:31 | access to parameter s | Guards.cs:80:13:80:13 | access to parameter s | Guards.cs:80:13:80:13 | access to parameter s | non-null |
| Guards.cs:81:31:81:31 | access to parameter s | Guards.cs:80:13:80:21 | access to property Length | Guards.cs:80:13:80:13 | access to parameter s | non-null |
| Guards.cs:81:31:81:31 | access to parameter s | Guards.cs:80:13:80:13 | access to parameter s | Guards.cs:80:13:80:13 | access to parameter s | not null |
| Guards.cs:81:31:81:31 | access to parameter s | Guards.cs:80:13:80:21 | access to property Length | Guards.cs:80:13:80:13 | access to parameter s | not null |
| Guards.cs:81:31:81:31 | access to parameter s | Guards.cs:80:13:80:25 | ... > ... | Guards.cs:80:13:80:13 | access to parameter s | true |
| Guards.cs:83:31:83:31 | access to parameter s | Guards.cs:82:13:82:13 | access to parameter s | Guards.cs:82:13:82:13 | access to parameter s | non-null |
| Guards.cs:83:31:83:31 | access to parameter s | Guards.cs:82:13:82:21 | access to property Length | Guards.cs:82:13:82:13 | access to parameter s | non-null |
| Guards.cs:83:31:83:31 | access to parameter s | Guards.cs:82:13:82:13 | access to parameter s | Guards.cs:82:13:82:13 | access to parameter s | not null |
| Guards.cs:83:31:83:31 | access to parameter s | Guards.cs:82:13:82:21 | access to property Length | Guards.cs:82:13:82:13 | access to parameter s | not null |
| Guards.cs:83:31:83:31 | access to parameter s | Guards.cs:82:13:82:26 | ... >= ... | Guards.cs:82:13:82:13 | access to parameter s | true |
| Guards.cs:85:31:85:31 | access to parameter s | Guards.cs:84:13:84:13 | access to parameter s | Guards.cs:84:13:84:13 | access to parameter s | non-null |
| Guards.cs:85:31:85:31 | access to parameter s | Guards.cs:84:13:84:21 | access to property Length | Guards.cs:84:13:84:13 | access to parameter s | non-null |
| Guards.cs:85:31:85:31 | access to parameter s | Guards.cs:84:13:84:13 | access to parameter s | Guards.cs:84:13:84:13 | access to parameter s | not null |
| Guards.cs:85:31:85:31 | access to parameter s | Guards.cs:84:13:84:21 | access to property Length | Guards.cs:84:13:84:13 | access to parameter s | not null |
| Guards.cs:85:31:85:31 | access to parameter s | Guards.cs:84:13:84:26 | ... < ... | Guards.cs:84:13:84:13 | access to parameter s | true |
| Guards.cs:87:31:87:31 | access to parameter s | Guards.cs:86:13:86:13 | access to parameter s | Guards.cs:86:13:86:13 | access to parameter s | non-null |
| Guards.cs:87:31:87:31 | access to parameter s | Guards.cs:86:13:86:21 | access to property Length | Guards.cs:86:13:86:13 | access to parameter s | non-null |
| Guards.cs:87:31:87:31 | access to parameter s | Guards.cs:86:13:86:13 | access to parameter s | Guards.cs:86:13:86:13 | access to parameter s | not null |
| Guards.cs:87:31:87:31 | access to parameter s | Guards.cs:86:13:86:21 | access to property Length | Guards.cs:86:13:86:13 | access to parameter s | not null |
| Guards.cs:87:31:87:31 | access to parameter s | Guards.cs:86:13:86:27 | ... <= ... | Guards.cs:86:13:86:13 | access to parameter s | true |
| Guards.cs:89:31:89:31 | access to parameter s | Guards.cs:88:13:88:13 | access to parameter s | Guards.cs:88:13:88:13 | access to parameter s | non-null |
| Guards.cs:89:31:89:31 | access to parameter s | Guards.cs:88:13:88:21 | access to property Length | Guards.cs:88:13:88:13 | access to parameter s | non-null |
| Guards.cs:89:31:89:31 | access to parameter s | Guards.cs:88:13:88:13 | access to parameter s | Guards.cs:88:13:88:13 | access to parameter s | not null |
| Guards.cs:89:31:89:31 | access to parameter s | Guards.cs:88:13:88:21 | access to property Length | Guards.cs:88:13:88:13 | access to parameter s | not null |
| Guards.cs:89:31:89:31 | access to parameter s | Guards.cs:88:13:88:29 | ... != ... | Guards.cs:88:13:88:13 | access to parameter s | true |
| Guards.cs:91:31:91:31 | access to parameter s | Guards.cs:88:13:88:13 | access to parameter s | Guards.cs:88:13:88:13 | access to parameter s | null |
| Guards.cs:91:31:91:31 | access to parameter s | Guards.cs:88:13:88:21 | access to property Length | Guards.cs:88:13:88:13 | access to parameter s | null |
| Guards.cs:91:31:91:31 | access to parameter s | Guards.cs:88:13:88:29 | ... != ... | Guards.cs:88:13:88:13 | access to parameter s | false |
| Guards.cs:93:31:93:31 | access to parameter s | Guards.cs:92:13:92:30 | ... != ... | Guards.cs:92:13:92:13 | access to parameter s | true |
| Guards.cs:95:31:95:31 | access to parameter s | Guards.cs:92:13:92:13 | access to parameter s | Guards.cs:92:13:92:13 | access to parameter s | non-null |
| Guards.cs:95:31:95:31 | access to parameter s | Guards.cs:92:13:92:21 | access to property Length | Guards.cs:92:13:92:13 | access to parameter s | non-null |
| Guards.cs:95:31:95:31 | access to parameter s | Guards.cs:92:13:92:25 | ... - ... | Guards.cs:92:13:92:13 | access to parameter s | non-null |
| Guards.cs:95:31:95:31 | access to parameter s | Guards.cs:92:13:92:13 | access to parameter s | Guards.cs:92:13:92:13 | access to parameter s | not null |
| Guards.cs:95:31:95:31 | access to parameter s | Guards.cs:92:13:92:21 | access to property Length | Guards.cs:92:13:92:13 | access to parameter s | not null |
| Guards.cs:95:31:95:31 | access to parameter s | Guards.cs:92:13:92:25 | ... - ... | Guards.cs:92:13:92:13 | access to parameter s | not null |
| Guards.cs:95:31:95:31 | access to parameter s | Guards.cs:92:13:92:30 | ... != ... | Guards.cs:92:13:92:13 | access to parameter s | false |
| Guards.cs:97:31:97:31 | access to parameter s | Guards.cs:96:13:96:13 | access to parameter s | Guards.cs:96:13:96:13 | access to parameter s | non-null |
| Guards.cs:97:31:97:31 | access to parameter s | Guards.cs:96:13:96:13 | access to parameter s | Guards.cs:96:13:96:13 | access to parameter s | |
| Guards.cs:97:31:97:31 | access to parameter s | Guards.cs:96:13:96:13 | access to parameter s | Guards.cs:96:13:96:13 | access to parameter s | not null |
| Guards.cs:97:31:97:31 | access to parameter s | Guards.cs:96:13:96:19 | ... == ... | Guards.cs:96:13:96:13 | access to parameter s | true |
| Guards.cs:99:31:99:31 | access to parameter s | Guards.cs:96:13:96:13 | access to parameter s | Guards.cs:96:13:96:13 | access to parameter s | not |
| Guards.cs:99:31:99:31 | access to parameter s | Guards.cs:96:13:96:19 | ... == ... | Guards.cs:96:13:96:13 | access to parameter s | false |
| Guards.cs:106:9:106:9 | access to parameter g | Guards.cs:104:13:104:37 | access to field Field | Guards.cs:104:13:104:13 | access to parameter g | non-null |
| Guards.cs:106:9:106:9 | access to parameter g | Guards.cs:104:13:104:37 | access to field Field | Guards.cs:104:13:104:13 | access to parameter g | not null |
| Guards.cs:106:9:106:9 | access to parameter g | Guards.cs:104:13:104:45 | ... == ... | Guards.cs:104:13:104:13 | access to parameter g | false |
| Guards.cs:107:27:107:27 | access to parameter g | Guards.cs:104:13:104:37 | access to field Field | Guards.cs:104:13:104:13 | access to parameter g | non-null |
| Guards.cs:107:27:107:27 | access to parameter g | Guards.cs:104:13:104:37 | access to field Field | Guards.cs:104:13:104:13 | access to parameter g | not null |
| Guards.cs:107:27:107:27 | access to parameter g | Guards.cs:104:13:104:45 | ... == ... | Guards.cs:104:13:104:13 | access to parameter g | false |
| Guards.cs:108:27:108:27 | access to parameter g | Guards.cs:104:13:104:37 | access to field Field | Guards.cs:104:13:104:13 | access to parameter g | non-null |
| Guards.cs:108:27:108:27 | access to parameter g | Guards.cs:104:13:104:37 | access to field Field | Guards.cs:104:13:104:13 | access to parameter g | not null |
| Guards.cs:108:27:108:27 | access to parameter g | Guards.cs:104:13:104:45 | ... == ... | Guards.cs:104:13:104:13 | access to parameter g | false |
| Guards.cs:114:14:114:14 | access to parameter g | Guards.cs:113:21:113:45 | access to field Field | Guards.cs:113:21:113:21 | access to parameter g | null |
| Guards.cs:114:14:114:23 | access to property Property | Guards.cs:113:21:113:45 | access to field Field | Guards.cs:113:21:113:30 | access to property Property | null |
| Guards.cs:114:14:114:32 | access to property Property | Guards.cs:113:21:113:45 | access to field Field | Guards.cs:113:21:113:39 | access to property Property | null |
| Guards.cs:114:14:114:38 | access to field Field | Guards.cs:113:21:113:45 | access to field Field | Guards.cs:113:21:113:45 | access to field Field | null |
| Guards.cs:116:27:116:27 | access to parameter g | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:17 | access to parameter g | non-null |
| Guards.cs:116:27:116:36 | access to property Property | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:26 | access to property Property | non-null |
| Guards.cs:116:27:116:45 | access to property Property | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:35 | access to property Property | non-null |
| Guards.cs:116:27:116:51 | access to field Field | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:41 | access to field Field | non-null |
| Guards.cs:117:9:117:9 | access to parameter g | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:17 | access to parameter g | non-null |
| Guards.cs:118:27:118:27 | access to parameter g | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:17 | access to parameter g | non-null |
| Guards.cs:119:27:119:27 | access to parameter g | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:17 | access to parameter g | non-null |
| Guards.cs:125:29:125:30 | access to parameter s1 | Guards.cs:125:18:125:19 | access to parameter s1 | Guards.cs:125:18:125:19 | access to parameter s1 | non-null |
| Guards.cs:116:27:116:27 | access to parameter g | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:17 | access to parameter g | not null |
| Guards.cs:116:27:116:36 | access to property Property | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:26 | access to property Property | not null |
| Guards.cs:116:27:116:45 | access to property Property | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:35 | access to property Property | not null |
| Guards.cs:116:27:116:51 | access to field Field | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:41 | access to field Field | not null |
| Guards.cs:117:9:117:9 | access to parameter g | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:17 | access to parameter g | not null |
| Guards.cs:118:27:118:27 | access to parameter g | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:17 | access to parameter g | not null |
| Guards.cs:119:27:119:27 | access to parameter g | Guards.cs:115:17:115:41 | access to field Field | Guards.cs:115:17:115:17 | access to parameter g | not null |
| Guards.cs:125:29:125:30 | access to parameter s1 | Guards.cs:125:18:125:19 | access to parameter s1 | Guards.cs:125:18:125:19 | access to parameter s1 | not null |
| Guards.cs:131:20:131:20 | access to parameter s | Guards.cs:130:13:130:13 | access to parameter s | Guards.cs:130:13:130:13 | access to parameter s | null |
| Guards.cs:131:20:131:20 | access to parameter s | Guards.cs:130:13:130:21 | ... is ... | Guards.cs:130:13:130:13 | access to parameter s | true |
| Guards.cs:132:16:132:16 | access to parameter s | Guards.cs:130:13:130:13 | access to parameter s | Guards.cs:130:13:130:13 | access to parameter s | non-null |
| Guards.cs:132:16:132:16 | access to parameter s | Guards.cs:130:13:130:13 | access to parameter s | Guards.cs:130:13:130:13 | access to parameter s | not null |
| Guards.cs:132:16:132:16 | access to parameter s | Guards.cs:130:13:130:21 | ... is ... | Guards.cs:130:13:130:13 | access to parameter s | false |
| Guards.cs:138:20:138:20 | access to parameter s | Guards.cs:137:13:137:13 | access to parameter s | Guards.cs:137:13:137:13 | access to parameter s | non-null |
| Guards.cs:138:20:138:20 | access to parameter s | Guards.cs:137:13:137:13 | access to parameter s | Guards.cs:137:13:137:13 | access to parameter s | not null |
| Guards.cs:138:20:138:20 | access to parameter s | Guards.cs:137:13:137:25 | ... is ... | Guards.cs:137:13:137:13 | access to parameter s | true |
| Guards.cs:139:16:139:16 | access to parameter s | Guards.cs:137:13:137:13 | access to parameter s | Guards.cs:137:13:137:13 | access to parameter s | null |
| Guards.cs:139:16:139:16 | access to parameter s | Guards.cs:137:13:137:25 | ... is ... | Guards.cs:137:13:137:13 | access to parameter s | false |
| Guards.cs:146:16:146:16 | access to parameter o | Guards.cs:144:13:144:25 | ... is ... | Guards.cs:144:13:144:13 | access to parameter o | false |
| Guards.cs:154:24:154:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | match access to type Action<Object> |
| Guards.cs:154:24:154:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | non-null |
| Guards.cs:158:24:158:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | match "" |
| Guards.cs:158:24:158:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | non-match Action<String> a |
| Guards.cs:158:24:158:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | non-match access to type Action<Object> |
| Guards.cs:158:24:158:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | non-null |
| Guards.cs:160:24:160:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | match null |
| Guards.cs:160:24:160:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | non-match "" |
| Guards.cs:160:24:160:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | non-match Action<String> a |
| Guards.cs:160:24:160:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | non-match access to type Action<Object> |
| Guards.cs:154:24:154:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | not null |
| Guards.cs:158:24:158:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | |
| Guards.cs:158:24:158:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | not null |
| Guards.cs:160:24:160:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | not |
| Guards.cs:160:24:160:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | null |
| Guards.cs:162:24:162:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | non-match "" |
| Guards.cs:162:24:162:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | non-match Action<String> a |
| Guards.cs:162:24:162:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | non-match access to type Action<Object> |
| Guards.cs:162:24:162:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | non-match null |
| Guards.cs:162:24:162:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | non-null |
| Guards.cs:162:24:162:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | not |
| Guards.cs:162:24:162:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | not null |
| Guards.cs:169:31:169:31 | access to parameter x | Guards.cs:168:14:168:41 | call to method IsNullOrWhiteSpace | Guards.cs:168:40:168:40 | access to parameter x | false |
| Guards.cs:169:31:169:31 | access to parameter x | Guards.cs:168:40:168:40 | access to parameter x | Guards.cs:168:40:168:40 | access to parameter x | non-null |
| Guards.cs:169:31:169:31 | access to parameter x | Guards.cs:168:40:168:40 | access to parameter x | Guards.cs:168:40:168:40 | access to parameter x | not null |
| Guards.cs:190:31:190:31 | access to parameter s | Guards.cs:189:14:189:25 | call to method NullTest1 | Guards.cs:189:24:189:24 | access to parameter s | false |
| Guards.cs:190:31:190:31 | access to parameter s | Guards.cs:189:24:189:24 | access to parameter s | Guards.cs:189:24:189:24 | access to parameter s | non-null |
| Guards.cs:190:31:190:31 | access to parameter s | Guards.cs:189:24:189:24 | access to parameter s | Guards.cs:189:24:189:24 | access to parameter s | not null |
| Guards.cs:192:31:192:31 | access to parameter s | Guards.cs:191:14:191:25 | call to method NullTest2 | Guards.cs:191:24:191:24 | access to parameter s | false |
| Guards.cs:192:31:192:31 | access to parameter s | Guards.cs:191:24:191:24 | access to parameter s | Guards.cs:191:24:191:24 | access to parameter s | non-null |
| Guards.cs:192:31:192:31 | access to parameter s | Guards.cs:191:24:191:24 | access to parameter s | Guards.cs:191:24:191:24 | access to parameter s | not null |
| Guards.cs:194:31:194:31 | access to parameter s | Guards.cs:193:14:193:25 | call to method NullTest3 | Guards.cs:193:24:193:24 | access to parameter s | false |
| Guards.cs:194:31:194:31 | access to parameter s | Guards.cs:193:24:193:24 | access to parameter s | Guards.cs:193:24:193:24 | access to parameter s | non-null |
| Guards.cs:194:31:194:31 | access to parameter s | Guards.cs:193:24:193:24 | access to parameter s | Guards.cs:193:24:193:24 | access to parameter s | not null |
| Guards.cs:196:31:196:31 | access to parameter s | Guards.cs:195:13:195:27 | call to method NotNullTest4 | Guards.cs:195:26:195:26 | access to parameter s | true |
| Guards.cs:196:31:196:31 | access to parameter s | Guards.cs:195:26:195:26 | access to parameter s | Guards.cs:195:26:195:26 | access to parameter s | non-null |
| Guards.cs:196:31:196:31 | access to parameter s | Guards.cs:195:26:195:26 | access to parameter s | Guards.cs:195:26:195:26 | access to parameter s | not null |
| Guards.cs:198:31:198:31 | access to parameter s | Guards.cs:197:14:197:29 | call to method NullTestWrong | Guards.cs:197:28:197:28 | access to parameter s | false |
| Guards.cs:205:13:205:13 | access to parameter o | Guards.cs:203:13:203:13 | access to parameter o | Guards.cs:203:13:203:13 | access to parameter o | non-null |
| Guards.cs:205:13:205:13 | access to parameter o | Guards.cs:203:13:203:13 | access to parameter o | Guards.cs:203:13:203:13 | access to parameter o | not null |
| Guards.cs:205:13:205:13 | access to parameter o | Guards.cs:203:13:203:21 | ... != ... | Guards.cs:203:13:203:13 | access to parameter o | true |
| Guards.cs:208:17:208:17 | access to parameter o | Guards.cs:203:13:203:13 | access to parameter o | Guards.cs:203:13:203:13 | access to parameter o | non-null |
| Guards.cs:208:17:208:17 | access to parameter o | Guards.cs:203:13:203:13 | access to parameter o | Guards.cs:203:13:203:13 | access to parameter o | not null |
| Guards.cs:208:17:208:17 | access to parameter o | Guards.cs:203:13:203:21 | ... != ... | Guards.cs:203:13:203:13 | access to parameter o | true |
| Guards.cs:269:13:269:14 | access to parameter o1 | Guards.cs:268:13:268:14 | access to parameter o1 | Guards.cs:268:13:268:14 | access to parameter o1 | non-null |
| Guards.cs:269:13:269:14 | access to parameter o1 | Guards.cs:268:13:268:25 | call to method GetType | Guards.cs:268:13:268:14 | access to parameter o1 | non-null |
| Guards.cs:269:13:269:14 | access to parameter o1 | Guards.cs:268:13:268:14 | access to parameter o1 | Guards.cs:268:13:268:14 | access to parameter o1 | not null |
| Guards.cs:269:13:269:14 | access to parameter o1 | Guards.cs:268:13:268:25 | call to method GetType | Guards.cs:268:13:268:14 | access to parameter o1 | not null |
| Guards.cs:269:13:269:14 | access to parameter o1 | Guards.cs:268:13:268:41 | call to operator == | Guards.cs:268:13:268:14 | access to parameter o1 | true |
| Guards.cs:271:13:271:14 | access to parameter o1 | Guards.cs:270:13:270:42 | call to operator == | Guards.cs:270:13:270:14 | access to parameter o1 | true |
| Guards.cs:279:17:279:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | match access to type Action<Object> |
| Guards.cs:279:17:279:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | non-null |
| Guards.cs:283:17:283:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | match "" |
| Guards.cs:283:17:283:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | non-match Action<String> a |
| Guards.cs:283:17:283:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | non-match access to type Action<Object> |
| Guards.cs:283:17:283:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | non-null |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | match null |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | non-match "" |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | non-match Action<String> a |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | non-match access to type Action<Object> |
| Guards.cs:279:17:279:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | not null |
| Guards.cs:279:17:279:17 | access to parameter o | Guards.cs:278:13:279:28 | ... => ... | Guards.cs:279:17:279:17 | access to parameter o | true |
| Guards.cs:279:17:279:28 | call to method ToString | Guards.cs:278:13:279:28 | ... => ... | Guards.cs:279:17:279:28 | call to method ToString | true |
| Guards.cs:281:17:281:17 | access to local variable a | Guards.cs:280:13:281:28 | ... => ... | Guards.cs:281:17:281:17 | access to local variable a | true |
| Guards.cs:281:17:281:28 | call to method ToString | Guards.cs:280:13:281:28 | ... => ... | Guards.cs:281:17:281:28 | call to method ToString | true |
| Guards.cs:283:17:283:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | |
| Guards.cs:283:17:283:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | not null |
| Guards.cs:283:17:283:17 | access to parameter o | Guards.cs:278:13:279:28 | ... => ... | Guards.cs:279:17:279:17 | access to parameter o | false |
| Guards.cs:283:17:283:17 | access to parameter o | Guards.cs:282:13:283:28 | ... => ... | Guards.cs:283:17:283:17 | access to parameter o | true |
| Guards.cs:283:17:283:28 | call to method ToString | Guards.cs:278:13:279:28 | ... => ... | Guards.cs:279:17:279:28 | call to method ToString | false |
| Guards.cs:283:17:283:28 | call to method ToString | Guards.cs:282:13:283:28 | ... => ... | Guards.cs:283:17:283:28 | call to method ToString | true |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | not |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | null |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | match _ |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | non-match "" |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | non-match Action<String> a |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | non-match access to type Action<Object> |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | non-match null |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | non-null |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:278:13:279:28 | ... => ... | Guards.cs:279:17:279:17 | access to parameter o | false |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:282:13:283:28 | ... => ... | Guards.cs:283:17:283:17 | access to parameter o | false |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:284:13:285:28 | ... => ... | Guards.cs:285:17:285:17 | access to parameter o | true |
| Guards.cs:285:17:285:28 | call to method ToString | Guards.cs:278:13:279:28 | ... => ... | Guards.cs:279:17:279:28 | call to method ToString | false |
| Guards.cs:285:17:285:28 | call to method ToString | Guards.cs:282:13:283:28 | ... => ... | Guards.cs:283:17:283:28 | call to method ToString | false |
| Guards.cs:285:17:285:28 | call to method ToString | Guards.cs:284:13:285:28 | ... => ... | Guards.cs:285:17:285:28 | call to method ToString | true |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | not |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | not null |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:278:13:279:28 | ... => ... | Guards.cs:279:17:279:17 | access to parameter o | false |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:282:13:283:28 | ... => ... | Guards.cs:283:17:283:17 | access to parameter o | false |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:284:13:285:28 | ... => ... | Guards.cs:285:17:285:17 | access to parameter o | false |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:286:13:287:28 | ... => ... | Guards.cs:287:17:287:17 | access to parameter o | true |
| Guards.cs:287:17:287:28 | call to method ToString | Guards.cs:278:13:279:28 | ... => ... | Guards.cs:279:17:279:28 | call to method ToString | false |
| Guards.cs:287:17:287:28 | call to method ToString | Guards.cs:282:13:283:28 | ... => ... | Guards.cs:283:17:283:28 | call to method ToString | false |
| Guards.cs:287:17:287:28 | call to method ToString | Guards.cs:284:13:285:28 | ... => ... | Guards.cs:285:17:285:28 | call to method ToString | false |
| Guards.cs:287:17:287:28 | call to method ToString | Guards.cs:286:13:287:28 | ... => ... | Guards.cs:287:17:287:28 | call to method ToString | true |
| Guards.cs:342:27:342:27 | access to parameter b | Guards.cs:341:20:341:20 | access to parameter b | Guards.cs:341:20:341:20 | access to parameter b | false |
| Guards.cs:342:27:342:27 | access to parameter b | Guards.cs:341:20:341:32 | ... ? ... : ... | Guards.cs:341:20:341:20 | access to parameter b | non-null |
| Guards.cs:343:31:343:31 | access to local variable s | Guards.cs:342:13:342:13 | access to local variable s | Guards.cs:342:13:342:13 | access to local variable s | non-null |
| Guards.cs:342:27:342:27 | access to parameter b | Guards.cs:341:20:341:32 | ... ? ... : ... | Guards.cs:341:20:341:20 | access to parameter b | not null |
| Guards.cs:343:31:343:31 | access to local variable s | Guards.cs:342:13:342:13 | access to local variable s | Guards.cs:342:13:342:13 | access to local variable s | not null |
| Guards.cs:343:31:343:31 | access to local variable s | Guards.cs:342:13:342:21 | ... != ... | Guards.cs:342:13:342:13 | access to local variable s | true |
| Guards.cs:349:13:349:13 | access to parameter o | Guards.cs:348:13:348:13 | access to parameter o | Guards.cs:348:13:348:13 | access to parameter o | non-null |
| Guards.cs:349:13:349:13 | access to parameter o | Guards.cs:348:13:348:13 | access to parameter o | Guards.cs:348:13:348:13 | access to parameter o | not null |
| Guards.cs:349:13:349:13 | access to parameter o | Guards.cs:348:13:348:25 | ... is ... | Guards.cs:348:13:348:13 | access to parameter o | true |

View File

@@ -1,445 +0,0 @@
| Assert.cs:9:20:9:32 | ... ? ... : ... | non-null | Assert.cs:9:20:9:20 | access to parameter b | false |
| Assert.cs:9:20:9:32 | ... ? ... : ... | non-null | Assert.cs:9:31:9:32 | "" | non-null |
| Assert.cs:9:20:9:32 | ... ? ... : ... | null | Assert.cs:9:20:9:20 | access to parameter b | true |
| Assert.cs:9:20:9:32 | ... ? ... : ... | null | Assert.cs:9:24:9:27 | null | null |
| Assert.cs:10:22:10:22 | access to local variable s | empty | Assert.cs:9:20:9:32 | ... ? ... : ... | empty |
| Assert.cs:10:22:10:22 | access to local variable s | non-empty | Assert.cs:9:20:9:32 | ... ? ... : ... | non-empty |
| Assert.cs:10:22:10:22 | access to local variable s | non-null | Assert.cs:9:20:9:32 | ... ? ... : ... | non-null |
| Assert.cs:10:22:10:22 | access to local variable s | null | Assert.cs:9:20:9:32 | ... ? ... : ... | null |
| Assert.cs:10:22:10:30 | ... != ... | false | Assert.cs:9:20:9:20 | access to parameter b | true |
| Assert.cs:10:22:10:30 | ... != ... | false | Assert.cs:10:22:10:22 | access to local variable s | null |
| Assert.cs:10:22:10:30 | ... != ... | true | Assert.cs:9:20:9:20 | access to parameter b | false |
| Assert.cs:10:22:10:30 | ... != ... | true | Assert.cs:10:22:10:22 | access to local variable s | non-null |
| Assert.cs:11:27:11:27 | access to local variable s | non-null | Assert.cs:9:20:9:32 | ... ? ... : ... | non-null |
| Assert.cs:11:27:11:27 | access to local variable s | null | Assert.cs:9:20:9:32 | ... ? ... : ... | null |
| Assert.cs:16:20:16:32 | ... ? ... : ... | non-null | Assert.cs:16:20:16:20 | access to parameter b | false |
| Assert.cs:16:20:16:32 | ... ? ... : ... | non-null | Assert.cs:16:31:16:32 | "" | non-null |
| Assert.cs:16:20:16:32 | ... ? ... : ... | null | Assert.cs:16:20:16:20 | access to parameter b | true |
| Assert.cs:16:20:16:32 | ... ? ... : ... | null | Assert.cs:16:24:16:27 | null | null |
| Assert.cs:17:23:17:23 | access to local variable s | empty | Assert.cs:16:20:16:32 | ... ? ... : ... | empty |
| Assert.cs:17:23:17:23 | access to local variable s | non-empty | Assert.cs:16:20:16:32 | ... ? ... : ... | non-empty |
| Assert.cs:17:23:17:23 | access to local variable s | non-null | Assert.cs:16:20:16:20 | access to parameter b | false |
| Assert.cs:17:23:17:23 | access to local variable s | non-null | Assert.cs:16:20:16:32 | ... ? ... : ... | non-null |
| Assert.cs:17:23:17:23 | access to local variable s | null | Assert.cs:16:20:16:20 | access to parameter b | true |
| Assert.cs:17:23:17:23 | access to local variable s | null | Assert.cs:16:20:16:32 | ... ? ... : ... | null |
| Assert.cs:18:27:18:27 | access to local variable s | non-null | Assert.cs:16:20:16:32 | ... ? ... : ... | non-null |
| Assert.cs:18:27:18:27 | access to local variable s | null | Assert.cs:16:20:16:32 | ... ? ... : ... | null |
| Assert.cs:23:20:23:32 | ... ? ... : ... | non-null | Assert.cs:23:20:23:20 | access to parameter b | false |
| Assert.cs:23:20:23:32 | ... ? ... : ... | non-null | Assert.cs:23:31:23:32 | "" | non-null |
| Assert.cs:23:20:23:32 | ... ? ... : ... | null | Assert.cs:23:20:23:20 | access to parameter b | true |
| Assert.cs:23:20:23:32 | ... ? ... : ... | null | Assert.cs:23:24:23:27 | null | null |
| Assert.cs:24:26:24:26 | access to local variable s | empty | Assert.cs:23:20:23:32 | ... ? ... : ... | empty |
| Assert.cs:24:26:24:26 | access to local variable s | non-empty | Assert.cs:23:20:23:32 | ... ? ... : ... | non-empty |
| Assert.cs:24:26:24:26 | access to local variable s | non-null | Assert.cs:23:20:23:20 | access to parameter b | false |
| Assert.cs:24:26:24:26 | access to local variable s | non-null | Assert.cs:23:20:23:32 | ... ? ... : ... | non-null |
| Assert.cs:24:26:24:26 | access to local variable s | null | Assert.cs:23:20:23:20 | access to parameter b | true |
| Assert.cs:24:26:24:26 | access to local variable s | null | Assert.cs:23:20:23:32 | ... ? ... : ... | null |
| Assert.cs:25:27:25:27 | access to local variable s | non-null | Assert.cs:23:20:23:32 | ... ? ... : ... | non-null |
| Assert.cs:25:27:25:27 | access to local variable s | null | Assert.cs:23:20:23:32 | ... ? ... : ... | null |
| Assert.cs:30:20:30:32 | ... ? ... : ... | non-null | Assert.cs:30:20:30:20 | access to parameter b | false |
| Assert.cs:30:20:30:32 | ... ? ... : ... | non-null | Assert.cs:30:31:30:32 | "" | non-null |
| Assert.cs:30:20:30:32 | ... ? ... : ... | null | Assert.cs:30:20:30:20 | access to parameter b | true |
| Assert.cs:30:20:30:32 | ... ? ... : ... | null | Assert.cs:30:24:30:27 | null | null |
| Assert.cs:31:23:31:23 | access to local variable s | empty | Assert.cs:30:20:30:32 | ... ? ... : ... | empty |
| Assert.cs:31:23:31:23 | access to local variable s | non-empty | Assert.cs:30:20:30:32 | ... ? ... : ... | non-empty |
| Assert.cs:31:23:31:23 | access to local variable s | non-null | Assert.cs:30:20:30:32 | ... ? ... : ... | non-null |
| Assert.cs:31:23:31:23 | access to local variable s | null | Assert.cs:30:20:30:32 | ... ? ... : ... | null |
| Assert.cs:31:23:31:31 | ... == ... | false | Assert.cs:30:20:30:20 | access to parameter b | false |
| Assert.cs:31:23:31:31 | ... == ... | false | Assert.cs:31:23:31:23 | access to local variable s | non-null |
| Assert.cs:31:23:31:31 | ... == ... | true | Assert.cs:30:20:30:20 | access to parameter b | true |
| Assert.cs:31:23:31:31 | ... == ... | true | Assert.cs:31:23:31:23 | access to local variable s | null |
| Assert.cs:32:27:32:27 | access to local variable s | non-null | Assert.cs:30:20:30:32 | ... ? ... : ... | non-null |
| Assert.cs:32:27:32:27 | access to local variable s | null | Assert.cs:30:20:30:32 | ... ? ... : ... | null |
| Assert.cs:37:20:37:32 | ... ? ... : ... | non-null | Assert.cs:37:20:37:20 | access to parameter b | false |
| Assert.cs:37:20:37:32 | ... ? ... : ... | non-null | Assert.cs:37:31:37:32 | "" | non-null |
| Assert.cs:37:20:37:32 | ... ? ... : ... | null | Assert.cs:37:20:37:20 | access to parameter b | true |
| Assert.cs:37:20:37:32 | ... ? ... : ... | null | Assert.cs:37:24:37:27 | null | null |
| Assert.cs:38:23:38:23 | access to local variable s | empty | Assert.cs:37:20:37:32 | ... ? ... : ... | empty |
| Assert.cs:38:23:38:23 | access to local variable s | non-empty | Assert.cs:37:20:37:32 | ... ? ... : ... | non-empty |
| Assert.cs:38:23:38:23 | access to local variable s | non-null | Assert.cs:37:20:37:32 | ... ? ... : ... | non-null |
| Assert.cs:38:23:38:23 | access to local variable s | null | Assert.cs:37:20:37:32 | ... ? ... : ... | null |
| Assert.cs:38:23:38:31 | ... != ... | false | Assert.cs:37:20:37:20 | access to parameter b | true |
| Assert.cs:38:23:38:31 | ... != ... | false | Assert.cs:38:23:38:23 | access to local variable s | null |
| Assert.cs:38:23:38:31 | ... != ... | true | Assert.cs:37:20:37:20 | access to parameter b | false |
| Assert.cs:38:23:38:31 | ... != ... | true | Assert.cs:38:23:38:23 | access to local variable s | non-null |
| Assert.cs:39:27:39:27 | access to local variable s | non-null | Assert.cs:37:20:37:32 | ... ? ... : ... | non-null |
| Assert.cs:39:27:39:27 | access to local variable s | null | Assert.cs:37:20:37:32 | ... ? ... : ... | null |
| Assert.cs:44:20:44:32 | ... ? ... : ... | non-null | Assert.cs:44:20:44:20 | access to parameter b | false |
| Assert.cs:44:20:44:32 | ... ? ... : ... | non-null | Assert.cs:44:31:44:32 | "" | non-null |
| Assert.cs:44:20:44:32 | ... ? ... : ... | null | Assert.cs:44:20:44:20 | access to parameter b | true |
| Assert.cs:44:20:44:32 | ... ? ... : ... | null | Assert.cs:44:24:44:27 | null | null |
| Assert.cs:45:24:45:24 | access to local variable s | empty | Assert.cs:44:20:44:32 | ... ? ... : ... | empty |
| Assert.cs:45:24:45:24 | access to local variable s | non-empty | Assert.cs:44:20:44:32 | ... ? ... : ... | non-empty |
| Assert.cs:45:24:45:24 | access to local variable s | non-null | Assert.cs:44:20:44:32 | ... ? ... : ... | non-null |
| Assert.cs:45:24:45:24 | access to local variable s | null | Assert.cs:44:20:44:32 | ... ? ... : ... | null |
| Assert.cs:45:24:45:32 | ... != ... | false | Assert.cs:44:20:44:20 | access to parameter b | true |
| Assert.cs:45:24:45:32 | ... != ... | false | Assert.cs:45:24:45:24 | access to local variable s | null |
| Assert.cs:45:24:45:32 | ... != ... | true | Assert.cs:44:20:44:20 | access to parameter b | false |
| Assert.cs:45:24:45:32 | ... != ... | true | Assert.cs:45:24:45:24 | access to local variable s | non-null |
| Assert.cs:46:27:46:27 | access to local variable s | non-null | Assert.cs:44:20:44:32 | ... ? ... : ... | non-null |
| Assert.cs:46:27:46:27 | access to local variable s | null | Assert.cs:44:20:44:32 | ... ? ... : ... | null |
| Assert.cs:51:20:51:32 | ... ? ... : ... | non-null | Assert.cs:51:20:51:20 | access to parameter b | false |
| Assert.cs:51:20:51:32 | ... ? ... : ... | non-null | Assert.cs:51:31:51:32 | "" | non-null |
| Assert.cs:51:20:51:32 | ... ? ... : ... | null | Assert.cs:51:20:51:20 | access to parameter b | true |
| Assert.cs:51:20:51:32 | ... ? ... : ... | null | Assert.cs:51:24:51:27 | null | null |
| Assert.cs:52:24:52:24 | access to local variable s | empty | Assert.cs:51:20:51:32 | ... ? ... : ... | empty |
| Assert.cs:52:24:52:24 | access to local variable s | non-empty | Assert.cs:51:20:51:32 | ... ? ... : ... | non-empty |
| Assert.cs:52:24:52:24 | access to local variable s | non-null | Assert.cs:51:20:51:32 | ... ? ... : ... | non-null |
| Assert.cs:52:24:52:24 | access to local variable s | null | Assert.cs:51:20:51:32 | ... ? ... : ... | null |
| Assert.cs:52:24:52:32 | ... == ... | false | Assert.cs:51:20:51:20 | access to parameter b | false |
| Assert.cs:52:24:52:32 | ... == ... | false | Assert.cs:52:24:52:24 | access to local variable s | non-null |
| Assert.cs:52:24:52:32 | ... == ... | true | Assert.cs:51:20:51:20 | access to parameter b | true |
| Assert.cs:52:24:52:32 | ... == ... | true | Assert.cs:52:24:52:24 | access to local variable s | null |
| Assert.cs:53:27:53:27 | access to local variable s | non-null | Assert.cs:51:20:51:32 | ... ? ... : ... | non-null |
| Assert.cs:53:27:53:27 | access to local variable s | null | Assert.cs:51:20:51:32 | ... ? ... : ... | null |
| Assert.cs:58:20:58:32 | ... ? ... : ... | non-null | Assert.cs:58:20:58:20 | access to parameter b | false |
| Assert.cs:58:20:58:32 | ... ? ... : ... | non-null | Assert.cs:58:31:58:32 | "" | non-null |
| Assert.cs:58:20:58:32 | ... ? ... : ... | null | Assert.cs:58:20:58:20 | access to parameter b | true |
| Assert.cs:58:20:58:32 | ... ? ... : ... | null | Assert.cs:58:24:58:27 | null | null |
| Assert.cs:59:23:59:23 | access to local variable s | empty | Assert.cs:58:20:58:32 | ... ? ... : ... | empty |
| Assert.cs:59:23:59:23 | access to local variable s | non-empty | Assert.cs:58:20:58:32 | ... ? ... : ... | non-empty |
| Assert.cs:59:23:59:23 | access to local variable s | non-null | Assert.cs:58:20:58:32 | ... ? ... : ... | non-null |
| Assert.cs:59:23:59:23 | access to local variable s | null | Assert.cs:58:20:58:32 | ... ? ... : ... | null |
| Assert.cs:59:23:59:31 | ... != ... | false | Assert.cs:58:20:58:20 | access to parameter b | true |
| Assert.cs:59:23:59:31 | ... != ... | false | Assert.cs:59:23:59:23 | access to local variable s | null |
| Assert.cs:59:23:59:31 | ... != ... | true | Assert.cs:58:20:58:20 | access to parameter b | false |
| Assert.cs:59:23:59:31 | ... != ... | true | Assert.cs:59:23:59:23 | access to local variable s | non-null |
| Assert.cs:59:23:59:36 | ... && ... | true | Assert.cs:59:23:59:31 | ... != ... | true |
| Assert.cs:59:23:59:36 | ... && ... | true | Assert.cs:59:36:59:36 | access to parameter b | true |
| Assert.cs:60:27:60:27 | access to local variable s | non-null | Assert.cs:58:20:58:32 | ... ? ... : ... | non-null |
| Assert.cs:60:27:60:27 | access to local variable s | null | Assert.cs:58:20:58:32 | ... ? ... : ... | null |
| Assert.cs:65:20:65:32 | ... ? ... : ... | non-null | Assert.cs:65:20:65:20 | access to parameter b | false |
| Assert.cs:65:20:65:32 | ... ? ... : ... | non-null | Assert.cs:65:31:65:32 | "" | non-null |
| Assert.cs:65:20:65:32 | ... ? ... : ... | null | Assert.cs:65:20:65:20 | access to parameter b | true |
| Assert.cs:65:20:65:32 | ... ? ... : ... | null | Assert.cs:65:24:65:27 | null | null |
| Assert.cs:66:24:66:24 | access to local variable s | empty | Assert.cs:65:20:65:32 | ... ? ... : ... | empty |
| Assert.cs:66:24:66:24 | access to local variable s | non-empty | Assert.cs:65:20:65:32 | ... ? ... : ... | non-empty |
| Assert.cs:66:24:66:24 | access to local variable s | non-null | Assert.cs:65:20:65:32 | ... ? ... : ... | non-null |
| Assert.cs:66:24:66:24 | access to local variable s | null | Assert.cs:65:20:65:32 | ... ? ... : ... | null |
| Assert.cs:66:24:66:32 | ... == ... | false | Assert.cs:65:20:65:20 | access to parameter b | false |
| Assert.cs:66:24:66:32 | ... == ... | false | Assert.cs:66:24:66:24 | access to local variable s | non-null |
| Assert.cs:66:24:66:32 | ... == ... | true | Assert.cs:65:20:65:20 | access to parameter b | true |
| Assert.cs:66:24:66:32 | ... == ... | true | Assert.cs:66:24:66:24 | access to local variable s | null |
| Assert.cs:66:24:66:37 | ... \|\| ... | false | Assert.cs:66:24:66:32 | ... == ... | false |
| Assert.cs:66:24:66:37 | ... \|\| ... | false | Assert.cs:66:37:66:37 | access to parameter b | false |
| Assert.cs:67:27:67:27 | access to local variable s | non-null | Assert.cs:65:20:65:32 | ... ? ... : ... | non-null |
| Assert.cs:67:27:67:27 | access to local variable s | null | Assert.cs:65:20:65:32 | ... ? ... : ... | null |
| Assert.cs:72:20:72:32 | ... ? ... : ... | non-null | Assert.cs:72:20:72:20 | access to parameter b | false |
| Assert.cs:72:20:72:32 | ... ? ... : ... | non-null | Assert.cs:72:31:72:32 | "" | non-null |
| Assert.cs:72:20:72:32 | ... ? ... : ... | null | Assert.cs:72:20:72:20 | access to parameter b | true |
| Assert.cs:72:20:72:32 | ... ? ... : ... | null | Assert.cs:72:24:72:27 | null | null |
| Assert.cs:73:23:73:23 | access to local variable s | empty | Assert.cs:72:20:72:32 | ... ? ... : ... | empty |
| Assert.cs:73:23:73:23 | access to local variable s | non-empty | Assert.cs:72:20:72:32 | ... ? ... : ... | non-empty |
| Assert.cs:73:23:73:23 | access to local variable s | non-null | Assert.cs:72:20:72:32 | ... ? ... : ... | non-null |
| Assert.cs:73:23:73:23 | access to local variable s | null | Assert.cs:72:20:72:32 | ... ? ... : ... | null |
| Assert.cs:73:23:73:31 | ... == ... | false | Assert.cs:72:20:72:20 | access to parameter b | false |
| Assert.cs:73:23:73:31 | ... == ... | false | Assert.cs:73:23:73:23 | access to local variable s | non-null |
| Assert.cs:73:23:73:31 | ... == ... | true | Assert.cs:72:20:72:20 | access to parameter b | true |
| Assert.cs:73:23:73:31 | ... == ... | true | Assert.cs:73:23:73:23 | access to local variable s | null |
| Assert.cs:73:23:73:36 | ... && ... | true | Assert.cs:73:23:73:31 | ... == ... | true |
| Assert.cs:73:23:73:36 | ... && ... | true | Assert.cs:73:36:73:36 | access to parameter b | true |
| Assert.cs:74:27:74:27 | access to local variable s | non-null | Assert.cs:72:20:72:32 | ... ? ... : ... | non-null |
| Assert.cs:74:27:74:27 | access to local variable s | null | Assert.cs:72:20:72:32 | ... ? ... : ... | null |
| Assert.cs:79:20:79:32 | ... ? ... : ... | non-null | Assert.cs:79:20:79:20 | access to parameter b | false |
| Assert.cs:79:20:79:32 | ... ? ... : ... | non-null | Assert.cs:79:31:79:32 | "" | non-null |
| Assert.cs:79:20:79:32 | ... ? ... : ... | null | Assert.cs:79:20:79:20 | access to parameter b | true |
| Assert.cs:79:20:79:32 | ... ? ... : ... | null | Assert.cs:79:24:79:27 | null | null |
| Assert.cs:80:24:80:24 | access to local variable s | empty | Assert.cs:79:20:79:32 | ... ? ... : ... | empty |
| Assert.cs:80:24:80:24 | access to local variable s | non-empty | Assert.cs:79:20:79:32 | ... ? ... : ... | non-empty |
| Assert.cs:80:24:80:24 | access to local variable s | non-null | Assert.cs:79:20:79:32 | ... ? ... : ... | non-null |
| Assert.cs:80:24:80:24 | access to local variable s | null | Assert.cs:79:20:79:32 | ... ? ... : ... | null |
| Assert.cs:80:24:80:32 | ... != ... | false | Assert.cs:79:20:79:20 | access to parameter b | true |
| Assert.cs:80:24:80:32 | ... != ... | false | Assert.cs:80:24:80:24 | access to local variable s | null |
| Assert.cs:80:24:80:32 | ... != ... | true | Assert.cs:79:20:79:20 | access to parameter b | false |
| Assert.cs:80:24:80:32 | ... != ... | true | Assert.cs:80:24:80:24 | access to local variable s | non-null |
| Assert.cs:80:24:80:37 | ... \|\| ... | false | Assert.cs:80:24:80:32 | ... != ... | false |
| Assert.cs:80:24:80:37 | ... \|\| ... | false | Assert.cs:80:37:80:37 | access to parameter b | false |
| Assert.cs:81:27:81:27 | access to local variable s | non-null | Assert.cs:79:20:79:32 | ... ? ... : ... | non-null |
| Assert.cs:81:27:81:27 | access to local variable s | null | Assert.cs:79:20:79:32 | ... ? ... : ... | null |
| Assert.cs:94:16:94:24 | ... && ... | true | Assert.cs:94:16:94:17 | access to parameter b1 | true |
| Assert.cs:94:16:94:24 | ... && ... | true | Assert.cs:94:22:94:24 | !... | true |
| Assert.cs:94:22:94:24 | !... | false | Assert.cs:94:23:94:24 | access to parameter b2 | true |
| Assert.cs:94:22:94:24 | !... | true | Assert.cs:94:23:94:24 | access to parameter b2 | false |
| Collections.cs:11:17:11:32 | ... == ... | false | Collections.cs:11:17:11:20 | access to parameter args | non-empty |
| Collections.cs:11:17:11:32 | ... == ... | true | Collections.cs:11:17:11:20 | access to parameter args | empty |
| Collections.cs:12:13:12:28 | ... == ... | true | Collections.cs:12:13:12:16 | access to parameter args | non-empty |
| Collections.cs:13:13:13:28 | ... != ... | false | Collections.cs:13:13:13:16 | access to parameter args | empty |
| Collections.cs:13:13:13:28 | ... != ... | true | Collections.cs:13:13:13:16 | access to parameter args | non-empty |
| Collections.cs:14:13:14:28 | ... != ... | false | Collections.cs:14:13:14:16 | access to parameter args | non-empty |
| Collections.cs:15:13:15:27 | ... > ... | true | Collections.cs:15:13:15:16 | access to parameter args | non-empty |
| Collections.cs:17:13:17:28 | ... >= ... | true | Collections.cs:17:13:17:16 | access to parameter args | non-empty |
| Collections.cs:22:17:22:31 | ... == ... | false | Collections.cs:22:17:22:20 | access to parameter args | non-empty |
| Collections.cs:22:17:22:31 | ... == ... | true | Collections.cs:22:17:22:20 | access to parameter args | empty |
| Collections.cs:23:13:23:27 | ... == ... | true | Collections.cs:23:13:23:16 | access to parameter args | non-empty |
| Collections.cs:24:13:24:27 | ... != ... | false | Collections.cs:24:13:24:16 | access to parameter args | empty |
| Collections.cs:24:13:24:27 | ... != ... | true | Collections.cs:24:13:24:16 | access to parameter args | non-empty |
| Collections.cs:25:13:25:27 | ... != ... | false | Collections.cs:25:13:25:16 | access to parameter args | non-empty |
| Collections.cs:26:13:26:26 | ... > ... | true | Collections.cs:26:13:26:16 | access to parameter args | non-empty |
| Collections.cs:28:13:28:27 | ... >= ... | true | Collections.cs:28:13:28:16 | access to parameter args | non-empty |
| Collections.cs:33:17:33:33 | ... == ... | false | Collections.cs:33:17:33:20 | access to parameter args | non-empty |
| Collections.cs:33:17:33:33 | ... == ... | true | Collections.cs:33:17:33:20 | access to parameter args | empty |
| Collections.cs:34:13:34:29 | ... == ... | true | Collections.cs:34:13:34:16 | access to parameter args | non-empty |
| Collections.cs:35:13:35:29 | ... != ... | false | Collections.cs:35:13:35:16 | access to parameter args | empty |
| Collections.cs:35:13:35:29 | ... != ... | true | Collections.cs:35:13:35:16 | access to parameter args | non-empty |
| Collections.cs:36:13:36:29 | ... != ... | false | Collections.cs:36:13:36:16 | access to parameter args | non-empty |
| Collections.cs:37:13:37:28 | ... > ... | true | Collections.cs:37:13:37:16 | access to parameter args | non-empty |
| Collections.cs:39:13:39:29 | ... >= ... | true | Collections.cs:39:13:39:16 | access to parameter args | non-empty |
| Collections.cs:44:17:44:26 | call to method Any<String> | false | Collections.cs:44:17:44:20 | access to parameter args | empty |
| Collections.cs:44:17:44:26 | call to method Any<String> | true | Collections.cs:44:17:44:20 | access to parameter args | non-empty |
| Collections.cs:49:13:49:27 | ... == ... | false | Collections.cs:49:13:49:16 | access to parameter args | non-empty |
| Collections.cs:49:13:49:27 | ... == ... | true | Collections.cs:49:13:49:16 | access to parameter args | empty |
| Collections.cs:55:13:55:13 | access to local variable x | empty | Collections.cs:54:13:54:42 | array creation of type String[] | empty |
| Collections.cs:55:13:55:13 | access to local variable x | non-empty | Collections.cs:54:13:54:42 | array creation of type String[] | non-empty |
| Collections.cs:55:13:55:13 | access to local variable x | non-null | Collections.cs:54:13:54:42 | array creation of type String[] | non-null |
| Collections.cs:55:13:55:13 | access to local variable x | null | Collections.cs:54:13:54:42 | array creation of type String[] | null |
| Collections.cs:57:13:57:13 | access to local variable x | empty | Collections.cs:56:13:56:25 | array creation of type String[] | empty |
| Collections.cs:57:13:57:13 | access to local variable x | non-empty | Collections.cs:56:13:56:25 | array creation of type String[] | non-empty |
| Collections.cs:57:13:57:13 | access to local variable x | non-null | Collections.cs:56:13:56:25 | array creation of type String[] | non-null |
| Collections.cs:57:13:57:13 | access to local variable x | null | Collections.cs:56:13:56:25 | array creation of type String[] | null |
| Collections.cs:63:9:63:9 | access to local variable x | empty | Collections.cs:62:17:62:55 | call to method ToList<String> | empty |
| Collections.cs:63:9:63:9 | access to local variable x | non-empty | Collections.cs:62:17:62:55 | call to method ToList<String> | non-empty |
| Collections.cs:63:9:63:9 | access to local variable x | non-null | Collections.cs:62:17:62:55 | call to method ToList<String> | non-null |
| Collections.cs:63:9:63:9 | access to local variable x | null | Collections.cs:62:17:62:55 | call to method ToList<String> | null |
| Collections.cs:64:13:64:13 | access to local variable x | non-null | Collections.cs:62:17:62:55 | call to method ToList<String> | non-null |
| Collections.cs:64:13:64:13 | access to local variable x | null | Collections.cs:62:17:62:55 | call to method ToList<String> | null |
| Collections.cs:64:13:64:24 | ... == ... | false | Collections.cs:64:13:64:13 | access to local variable x | non-empty |
| Collections.cs:64:13:64:24 | ... == ... | true | Collections.cs:64:13:64:13 | access to local variable x | empty |
| Collections.cs:66:13:66:13 | access to local variable x | non-null | Collections.cs:62:17:62:55 | call to method ToList<String> | non-null |
| Collections.cs:66:13:66:13 | access to local variable x | null | Collections.cs:62:17:62:55 | call to method ToList<String> | null |
| Collections.cs:67:13:67:13 | access to local variable x | non-null | Collections.cs:62:17:62:55 | call to method ToList<String> | non-null |
| Collections.cs:67:13:67:13 | access to local variable x | null | Collections.cs:62:17:62:55 | call to method ToList<String> | null |
| Collections.cs:73:35:73:41 | ... == ... | true | Collections.cs:73:35:73:35 | access to parameter s | non-null |
| Collections.cs:73:35:73:41 | ... == ... | true | Collections.cs:73:40:73:41 | "" | non-null |
| Collections.cs:74:17:74:33 | call to method Any<String> | true | Collections.cs:74:17:74:20 | access to parameter args | non-empty |
| Collections.cs:75:13:75:36 | ... == ... | false | Collections.cs:75:13:75:16 | access to parameter args | non-empty |
| Collections.cs:76:13:76:36 | ... == ... | true | Collections.cs:76:13:76:16 | access to parameter args | non-empty |
| Collections.cs:77:13:77:36 | ... != ... | true | Collections.cs:77:13:77:16 | access to parameter args | non-empty |
| Collections.cs:78:13:78:36 | ... != ... | false | Collections.cs:78:13:78:16 | access to parameter args | non-empty |
| Collections.cs:79:13:79:35 | ... > ... | true | Collections.cs:79:13:79:16 | access to parameter args | non-empty |
| Collections.cs:81:13:81:36 | ... >= ... | true | Collections.cs:81:13:81:16 | access to parameter args | non-empty |
| Guards.cs:10:13:10:25 | !... | false | Guards.cs:10:14:10:25 | !... | true |
| Guards.cs:10:13:10:25 | !... | true | Guards.cs:10:14:10:25 | !... | false |
| Guards.cs:10:14:10:25 | !... | false | Guards.cs:10:16:10:24 | ... == ... | true |
| Guards.cs:10:14:10:25 | !... | true | Guards.cs:10:16:10:24 | ... == ... | false |
| Guards.cs:10:16:10:24 | ... == ... | false | Guards.cs:10:16:10:16 | access to parameter s | non-null |
| Guards.cs:10:16:10:24 | ... == ... | true | Guards.cs:10:16:10:16 | access to parameter s | null |
| Guards.cs:24:13:24:21 | ... != ... | false | Guards.cs:24:13:24:13 | access to parameter s | null |
| Guards.cs:24:13:24:21 | ... != ... | true | Guards.cs:24:13:24:13 | access to parameter s | non-null |
| Guards.cs:32:13:32:36 | !... | false | Guards.cs:32:14:32:36 | call to method IsNullOrEmpty | true |
| Guards.cs:32:13:32:36 | !... | true | Guards.cs:32:14:32:36 | call to method IsNullOrEmpty | false |
| Guards.cs:32:13:32:51 | ... & ... | true | Guards.cs:32:13:32:36 | !... | true |
| Guards.cs:32:13:32:51 | ... & ... | true | Guards.cs:32:40:32:51 | !... | true |
| Guards.cs:32:14:32:36 | call to method IsNullOrEmpty | false | Guards.cs:32:35:32:35 | access to parameter x | non-null |
| Guards.cs:32:40:32:51 | !... | false | Guards.cs:32:42:32:50 | ... == ... | true |
| Guards.cs:32:40:32:51 | !... | true | Guards.cs:32:42:32:50 | ... == ... | false |
| Guards.cs:32:42:32:50 | ... == ... | false | Guards.cs:32:42:32:42 | access to parameter y | non-null |
| Guards.cs:32:42:32:50 | ... == ... | true | Guards.cs:32:42:32:42 | access to parameter y | null |
| Guards.cs:33:31:33:35 | ... + ... | non-null | Guards.cs:33:31:33:31 | access to parameter x | non-null |
| Guards.cs:33:31:33:35 | ... + ... | non-null | Guards.cs:33:35:33:35 | access to parameter y | non-null |
| Guards.cs:35:13:35:21 | ... == ... | false | Guards.cs:35:13:35:13 | access to parameter x | non-null |
| Guards.cs:35:13:35:21 | ... == ... | true | Guards.cs:35:13:35:13 | access to parameter x | null |
| Guards.cs:35:13:35:34 | ... \|\| ... | false | Guards.cs:35:13:35:21 | ... == ... | false |
| Guards.cs:35:13:35:34 | ... \|\| ... | false | Guards.cs:35:26:35:34 | ... == ... | false |
| Guards.cs:35:26:35:34 | ... == ... | false | Guards.cs:35:26:35:26 | access to parameter y | non-null |
| Guards.cs:35:26:35:34 | ... == ... | true | Guards.cs:35:26:35:26 | access to parameter y | null |
| Guards.cs:36:32:36:36 | ... + ... | non-null | Guards.cs:36:32:36:32 | access to parameter x | non-null |
| Guards.cs:36:32:36:36 | ... + ... | non-null | Guards.cs:36:36:36:36 | access to parameter y | non-null |
| Guards.cs:36:32:36:36 | ... + ... | null | Guards.cs:36:32:36:32 | access to parameter x | null |
| Guards.cs:36:32:36:36 | ... + ... | null | Guards.cs:36:36:36:36 | access to parameter y | null |
| Guards.cs:38:13:38:37 | !... | false | Guards.cs:38:15:38:36 | ... \|\| ... | true |
| Guards.cs:38:13:38:37 | !... | true | Guards.cs:38:15:38:36 | ... \|\| ... | false |
| Guards.cs:38:15:38:23 | ... == ... | false | Guards.cs:38:15:38:15 | access to parameter x | non-null |
| Guards.cs:38:15:38:23 | ... == ... | true | Guards.cs:38:15:38:15 | access to parameter x | null |
| Guards.cs:38:15:38:36 | ... \|\| ... | false | Guards.cs:38:15:38:23 | ... == ... | false |
| Guards.cs:38:15:38:36 | ... \|\| ... | false | Guards.cs:38:28:38:36 | ... == ... | false |
| Guards.cs:38:28:38:36 | ... == ... | false | Guards.cs:38:28:38:28 | access to parameter y | non-null |
| Guards.cs:38:28:38:36 | ... == ... | true | Guards.cs:38:28:38:28 | access to parameter y | null |
| Guards.cs:39:31:39:35 | ... + ... | non-null | Guards.cs:39:31:39:31 | access to parameter x | non-null |
| Guards.cs:39:31:39:35 | ... + ... | non-null | Guards.cs:39:35:39:35 | access to parameter y | non-null |
| Guards.cs:39:31:39:35 | ... + ... | null | Guards.cs:39:31:39:31 | access to parameter x | null |
| Guards.cs:39:31:39:35 | ... + ... | null | Guards.cs:39:35:39:35 | access to parameter y | null |
| Guards.cs:41:13:41:39 | !... | false | Guards.cs:41:14:41:39 | !... | true |
| Guards.cs:41:13:41:39 | !... | true | Guards.cs:41:14:41:39 | !... | false |
| Guards.cs:41:14:41:39 | !... | false | Guards.cs:41:15:41:39 | !... | true |
| Guards.cs:41:14:41:39 | !... | true | Guards.cs:41:15:41:39 | !... | false |
| Guards.cs:41:15:41:39 | !... | false | Guards.cs:41:17:41:38 | ... && ... | true |
| Guards.cs:41:15:41:39 | !... | true | Guards.cs:41:17:41:38 | ... && ... | false |
| Guards.cs:41:17:41:25 | ... != ... | false | Guards.cs:41:17:41:17 | access to parameter x | null |
| Guards.cs:41:17:41:25 | ... != ... | true | Guards.cs:41:17:41:17 | access to parameter x | non-null |
| Guards.cs:41:17:41:38 | ... && ... | true | Guards.cs:41:17:41:25 | ... != ... | true |
| Guards.cs:41:17:41:38 | ... && ... | true | Guards.cs:41:30:41:38 | ... != ... | true |
| Guards.cs:41:30:41:38 | ... != ... | false | Guards.cs:41:30:41:30 | access to parameter y | null |
| Guards.cs:41:30:41:38 | ... != ... | true | Guards.cs:41:30:41:30 | access to parameter y | non-null |
| Guards.cs:42:32:42:36 | ... + ... | non-null | Guards.cs:42:32:42:32 | access to parameter x | non-null |
| Guards.cs:42:32:42:36 | ... + ... | non-null | Guards.cs:42:36:42:36 | access to parameter y | non-null |
| Guards.cs:42:32:42:36 | ... + ... | null | Guards.cs:42:32:42:32 | access to parameter x | null |
| Guards.cs:42:32:42:36 | ... + ... | null | Guards.cs:42:36:42:36 | access to parameter y | null |
| Guards.cs:44:13:44:25 | ... != ... | false | Guards.cs:44:13:44:17 | access to field Field | null |
| Guards.cs:44:13:44:25 | ... != ... | true | Guards.cs:44:13:44:17 | access to field Field | non-null |
| Guards.cs:47:13:47:25 | ... != ... | false | Guards.cs:47:13:47:17 | access to field Field | null |
| Guards.cs:47:13:47:25 | ... != ... | true | Guards.cs:47:13:47:17 | access to field Field | non-null |
| Guards.cs:53:13:53:27 | ... == ... | false | Guards.cs:53:13:53:19 | access to field Field | non-null |
| Guards.cs:53:13:53:27 | ... == ... | true | Guards.cs:53:13:53:19 | access to field Field | null |
| Guards.cs:60:13:60:45 | ... == ... | false | Guards.cs:60:13:60:37 | access to field Field | non-null |
| Guards.cs:60:13:60:45 | ... == ... | true | Guards.cs:60:13:60:37 | access to field Field | null |
| Guards.cs:68:16:68:24 | ... != ... | false | Guards.cs:68:16:68:16 | access to parameter s | null |
| Guards.cs:68:16:68:24 | ... != ... | true | Guards.cs:68:16:68:16 | access to parameter s | non-null |
| Guards.cs:72:31:72:31 | access to parameter s | empty | Guards.cs:71:17:71:20 | null | empty |
| Guards.cs:72:31:72:31 | access to parameter s | non-empty | Guards.cs:71:17:71:20 | null | non-empty |
| Guards.cs:72:31:72:31 | access to parameter s | non-null | Guards.cs:71:17:71:20 | null | non-null |
| Guards.cs:72:31:72:31 | access to parameter s | null | Guards.cs:71:17:71:20 | null | null |
| Guards.cs:78:13:78:21 | access to property Length | non-null | Guards.cs:78:13:78:13 | access to parameter s | non-null |
| Guards.cs:78:13:78:21 | access to property Length | null | Guards.cs:78:13:78:13 | access to parameter s | null |
| Guards.cs:78:13:78:26 | ... == ... | true | Guards.cs:78:13:78:21 | access to property Length | non-null |
| Guards.cs:80:13:80:21 | access to property Length | non-null | Guards.cs:80:13:80:13 | access to parameter s | non-null |
| Guards.cs:80:13:80:21 | access to property Length | null | Guards.cs:80:13:80:13 | access to parameter s | null |
| Guards.cs:80:13:80:25 | ... > ... | true | Guards.cs:80:13:80:21 | access to property Length | non-null |
| Guards.cs:82:13:82:21 | access to property Length | non-null | Guards.cs:82:13:82:13 | access to parameter s | non-null |
| Guards.cs:82:13:82:21 | access to property Length | null | Guards.cs:82:13:82:13 | access to parameter s | null |
| Guards.cs:82:13:82:26 | ... >= ... | true | Guards.cs:82:13:82:21 | access to property Length | non-null |
| Guards.cs:84:13:84:21 | access to property Length | non-null | Guards.cs:84:13:84:13 | access to parameter s | non-null |
| Guards.cs:84:13:84:21 | access to property Length | null | Guards.cs:84:13:84:13 | access to parameter s | null |
| Guards.cs:84:13:84:26 | ... < ... | true | Guards.cs:84:13:84:21 | access to property Length | non-null |
| Guards.cs:86:13:86:21 | access to property Length | non-null | Guards.cs:86:13:86:13 | access to parameter s | non-null |
| Guards.cs:86:13:86:21 | access to property Length | null | Guards.cs:86:13:86:13 | access to parameter s | null |
| Guards.cs:86:13:86:27 | ... <= ... | true | Guards.cs:86:13:86:21 | access to property Length | non-null |
| Guards.cs:88:13:88:21 | access to property Length | non-null | Guards.cs:88:13:88:13 | access to parameter s | non-null |
| Guards.cs:88:13:88:21 | access to property Length | null | Guards.cs:88:13:88:13 | access to parameter s | null |
| Guards.cs:88:13:88:29 | ... != ... | false | Guards.cs:88:13:88:21 | access to property Length | null |
| Guards.cs:88:13:88:29 | ... != ... | true | Guards.cs:88:13:88:21 | access to property Length | non-null |
| Guards.cs:92:13:92:21 | access to property Length | non-null | Guards.cs:92:13:92:13 | access to parameter s | non-null |
| Guards.cs:92:13:92:21 | access to property Length | null | Guards.cs:92:13:92:13 | access to parameter s | null |
| Guards.cs:92:13:92:25 | ... - ... | non-null | Guards.cs:92:13:92:21 | access to property Length | non-null |
| Guards.cs:92:13:92:25 | ... - ... | non-null | Guards.cs:92:25:92:25 | (...) ... | non-null |
| Guards.cs:92:13:92:25 | ... - ... | null | Guards.cs:92:13:92:21 | access to property Length | null |
| Guards.cs:92:13:92:30 | ... != ... | false | Guards.cs:92:13:92:25 | ... - ... | non-null |
| Guards.cs:96:13:96:19 | ... == ... | true | Guards.cs:96:13:96:13 | access to parameter s | non-null |
| Guards.cs:104:13:104:45 | ... == ... | false | Guards.cs:104:13:104:37 | access to field Field | non-null |
| Guards.cs:104:13:104:45 | ... == ... | true | Guards.cs:104:13:104:37 | access to field Field | null |
| Guards.cs:107:27:107:36 | access to property Property | non-null | Guards.cs:106:22:106:25 | null | non-null |
| Guards.cs:107:27:107:36 | access to property Property | null | Guards.cs:106:22:106:25 | null | null |
| Guards.cs:108:27:108:36 | access to property Property | non-null | Guards.cs:106:22:106:25 | null | non-null |
| Guards.cs:108:27:108:36 | access to property Property | null | Guards.cs:106:22:106:25 | null | null |
| Guards.cs:113:21:114:38 | ... ?? ... | null | Guards.cs:113:21:113:45 | access to field Field | null |
| Guards.cs:113:21:114:38 | ... ?? ... | null | Guards.cs:114:14:114:38 | access to field Field | null |
| Guards.cs:115:17:115:55 | ... ?? ... | null | Guards.cs:115:17:115:41 | access to field Field | null |
| Guards.cs:115:17:115:55 | ... ?? ... | null | Guards.cs:115:46:115:55 | throw ... | null |
| Guards.cs:118:27:118:36 | access to property Property | non-null | Guards.cs:117:22:117:25 | null | non-null |
| Guards.cs:118:27:118:36 | access to property Property | null | Guards.cs:117:22:117:25 | null | null |
| Guards.cs:119:27:119:36 | access to property Property | non-null | Guards.cs:117:22:117:25 | null | non-null |
| Guards.cs:119:27:119:36 | access to property Property | null | Guards.cs:117:22:117:25 | null | null |
| Guards.cs:125:18:125:31 | call to method Equals | non-null | Guards.cs:125:18:125:19 | access to parameter s1 | non-null |
| Guards.cs:125:18:125:31 | call to method Equals | null | Guards.cs:125:18:125:19 | access to parameter s1 | null |
| Guards.cs:125:18:125:31 | call to method Equals | true | Guards.cs:125:18:125:19 | access to parameter s1 | non-null |
| Guards.cs:125:18:125:31 | call to method Equals | true | Guards.cs:125:29:125:30 | access to parameter s1 | non-null |
| Guards.cs:130:13:130:21 | ... is ... | false | Guards.cs:130:13:130:13 | access to parameter s | non-null |
| Guards.cs:130:13:130:21 | ... is ... | true | Guards.cs:130:13:130:13 | access to parameter s | null |
| Guards.cs:137:13:137:25 | ... is ... | false | Guards.cs:137:13:137:13 | access to parameter s | null |
| Guards.cs:137:13:137:25 | ... is ... | true | Guards.cs:137:13:137:13 | access to parameter s | non-null |
| Guards.cs:144:13:144:25 | ... is ... | true | Guards.cs:144:13:144:13 | access to parameter o | non-null |
| Guards.cs:145:20:145:20 | access to local variable s | empty | Guards.cs:144:13:144:13 | access to parameter o | empty |
| Guards.cs:145:20:145:20 | access to local variable s | non-empty | Guards.cs:144:13:144:13 | access to parameter o | non-empty |
| Guards.cs:145:20:145:20 | access to local variable s | non-null | Guards.cs:144:13:144:13 | access to parameter o | non-null |
| Guards.cs:145:20:145:20 | access to local variable s | null | Guards.cs:144:13:144:13 | access to parameter o | null |
| Guards.cs:151:17:151:17 | access to parameter o | match "" | Guards.cs:151:17:151:17 | access to parameter o | non-null |
| Guards.cs:151:17:151:17 | access to parameter o | match Action<String> a | Guards.cs:151:17:151:17 | access to parameter o | non-null |
| Guards.cs:151:17:151:17 | access to parameter o | match access to type Action<Object> | Guards.cs:151:17:151:17 | access to parameter o | non-null |
| Guards.cs:151:17:151:17 | access to parameter o | match null | Guards.cs:151:17:151:17 | access to parameter o | null |
| Guards.cs:151:17:151:17 | access to parameter o | non-match null | Guards.cs:151:17:151:17 | access to parameter o | non-null |
| Guards.cs:156:24:156:24 | access to local variable a | non-null | Guards.cs:151:17:151:17 | access to parameter o | non-null |
| Guards.cs:156:24:156:24 | access to local variable a | null | Guards.cs:151:17:151:17 | access to parameter o | null |
| Guards.cs:168:13:168:41 | !... | false | Guards.cs:168:14:168:41 | call to method IsNullOrWhiteSpace | true |
| Guards.cs:168:13:168:41 | !... | true | Guards.cs:168:14:168:41 | call to method IsNullOrWhiteSpace | false |
| Guards.cs:168:14:168:41 | call to method IsNullOrWhiteSpace | false | Guards.cs:168:40:168:40 | access to parameter x | non-null |
| Guards.cs:172:34:172:42 | ... == ... | false | Guards.cs:172:34:172:34 | access to parameter o | non-null |
| Guards.cs:172:34:172:42 | ... == ... | true | Guards.cs:172:34:172:34 | access to parameter o | null |
| Guards.cs:176:13:176:21 | ... is ... | false | Guards.cs:176:13:176:13 | access to parameter o | non-null |
| Guards.cs:176:13:176:21 | ... is ... | true | Guards.cs:176:13:176:13 | access to parameter o | null |
| Guards.cs:181:34:181:42 | ... == ... | false | Guards.cs:181:34:181:34 | access to parameter o | non-null |
| Guards.cs:181:34:181:42 | ... == ... | true | Guards.cs:181:34:181:34 | access to parameter o | null |
| Guards.cs:181:34:181:57 | ... ? ... : ... | false | Guards.cs:181:34:181:42 | ... == ... | false |
| Guards.cs:181:34:181:57 | ... ? ... : ... | true | Guards.cs:181:34:181:42 | ... == ... | true |
| Guards.cs:183:37:183:49 | !... | false | Guards.cs:183:38:183:49 | call to method NullTest3 | true |
| Guards.cs:183:37:183:49 | !... | true | Guards.cs:183:38:183:49 | call to method NullTest3 | false |
| Guards.cs:183:38:183:49 | call to method NullTest3 | false | Guards.cs:183:48:183:48 | access to parameter o | non-null |
| Guards.cs:183:38:183:49 | call to method NullTest3 | true | Guards.cs:183:48:183:48 | access to parameter o | null |
| Guards.cs:185:38:185:46 | ... == ... | false | Guards.cs:185:38:185:38 | access to parameter o | non-null |
| Guards.cs:185:38:185:46 | ... == ... | true | Guards.cs:185:38:185:38 | access to parameter o | null |
| Guards.cs:185:38:185:60 | ... ? ... : ... | false | Guards.cs:185:38:185:46 | ... == ... | false |
| Guards.cs:185:38:185:60 | ... ? ... : ... | false | Guards.cs:185:38:185:46 | ... == ... | true |
| Guards.cs:189:13:189:25 | !... | false | Guards.cs:189:14:189:25 | call to method NullTest1 | true |
| Guards.cs:189:13:189:25 | !... | true | Guards.cs:189:14:189:25 | call to method NullTest1 | false |
| Guards.cs:189:14:189:25 | call to method NullTest1 | false | Guards.cs:189:24:189:24 | access to parameter s | non-null |
| Guards.cs:189:14:189:25 | call to method NullTest1 | true | Guards.cs:189:24:189:24 | access to parameter s | null |
| Guards.cs:191:13:191:25 | !... | false | Guards.cs:191:14:191:25 | call to method NullTest2 | true |
| Guards.cs:191:13:191:25 | !... | true | Guards.cs:191:14:191:25 | call to method NullTest2 | false |
| Guards.cs:191:14:191:25 | call to method NullTest2 | false | Guards.cs:191:24:191:24 | access to parameter s | non-null |
| Guards.cs:191:14:191:25 | call to method NullTest2 | true | Guards.cs:191:24:191:24 | access to parameter s | null |
| Guards.cs:193:13:193:25 | !... | false | Guards.cs:193:14:193:25 | call to method NullTest3 | true |
| Guards.cs:193:13:193:25 | !... | true | Guards.cs:193:14:193:25 | call to method NullTest3 | false |
| Guards.cs:193:14:193:25 | call to method NullTest3 | false | Guards.cs:193:24:193:24 | access to parameter s | non-null |
| Guards.cs:193:14:193:25 | call to method NullTest3 | true | Guards.cs:193:24:193:24 | access to parameter s | null |
| Guards.cs:195:13:195:27 | call to method NotNullTest4 | false | Guards.cs:195:26:195:26 | access to parameter s | null |
| Guards.cs:195:13:195:27 | call to method NotNullTest4 | true | Guards.cs:195:26:195:26 | access to parameter s | non-null |
| Guards.cs:197:13:197:29 | !... | false | Guards.cs:197:14:197:29 | call to method NullTestWrong | true |
| Guards.cs:197:13:197:29 | !... | true | Guards.cs:197:14:197:29 | call to method NullTestWrong | false |
| Guards.cs:203:13:203:21 | ... != ... | false | Guards.cs:203:13:203:13 | access to parameter o | null |
| Guards.cs:203:13:203:21 | ... != ... | true | Guards.cs:203:13:203:13 | access to parameter o | non-null |
| Guards.cs:218:17:218:18 | access to local variable b2 | match true | Guards.cs:216:13:216:14 | access to parameter b1 | false |
| Guards.cs:218:17:218:18 | access to local variable b2 | match true | Guards.cs:218:17:218:18 | access to local variable b2 | true |
| Guards.cs:231:17:231:18 | access to local variable b2 | match true | Guards.cs:229:13:229:14 | access to parameter b1 | true |
| Guards.cs:231:17:231:18 | access to local variable b2 | match true | Guards.cs:231:17:231:18 | access to local variable b2 | true |
| Guards.cs:231:17:231:18 | access to local variable b2 | non-match true | Guards.cs:229:13:229:14 | access to parameter b1 | false |
| Guards.cs:244:17:244:17 | access to local variable i | match 1 | Guards.cs:242:13:242:13 | access to parameter b | true |
| Guards.cs:244:17:244:17 | access to local variable i | match 1 | Guards.cs:244:17:244:17 | access to local variable i | 1 |
| Guards.cs:244:17:244:17 | access to local variable i | non-match 1 | Guards.cs:242:13:242:13 | access to parameter b | false |
| Guards.cs:258:17:258:17 | access to local variable e | match access to constant B | Guards.cs:256:13:256:13 | access to parameter b | true |
| Guards.cs:258:17:258:17 | access to local variable e | match access to constant B | Guards.cs:258:17:258:17 | access to local variable e | 1 |
| Guards.cs:258:17:258:17 | access to local variable e | non-match access to constant B | Guards.cs:256:13:256:13 | access to parameter b | false |
| Guards.cs:268:13:268:25 | call to method GetType | non-null | Guards.cs:268:13:268:14 | access to parameter o1 | non-null |
| Guards.cs:268:13:268:41 | call to operator == | true | Guards.cs:268:13:268:25 | call to method GetType | non-null |
| Guards.cs:270:13:270:25 | call to method GetType | non-null | Guards.cs:270:13:270:14 | access to parameter o1 | non-null |
| Guards.cs:270:30:270:42 | call to method GetType | non-null | Guards.cs:270:30:270:31 | access to parameter o2 | non-null |
| Guards.cs:276:16:276:16 | access to parameter o | match "" | Guards.cs:276:16:276:16 | access to parameter o | non-null |
| Guards.cs:276:16:276:16 | access to parameter o | match Action<String> a | Guards.cs:276:16:276:16 | access to parameter o | non-null |
| Guards.cs:276:16:276:16 | access to parameter o | match access to type Action<Object> | Guards.cs:276:16:276:16 | access to parameter o | non-null |
| Guards.cs:276:16:276:16 | access to parameter o | match null | Guards.cs:276:16:276:16 | access to parameter o | null |
| Guards.cs:276:16:276:16 | access to parameter o | non-match null | Guards.cs:276:16:276:16 | access to parameter o | non-null |
| Guards.cs:278:13:279:28 | ... => ... | true | Guards.cs:276:16:276:16 | access to parameter o | non-null |
| Guards.cs:280:13:281:28 | ... => ... | true | Guards.cs:276:16:276:16 | access to parameter o | non-null |
| Guards.cs:281:17:281:17 | access to local variable a | non-null | Guards.cs:276:16:276:16 | access to parameter o | non-null |
| Guards.cs:281:17:281:17 | access to local variable a | null | Guards.cs:276:16:276:16 | access to parameter o | null |
| Guards.cs:282:13:283:28 | ... => ... | true | Guards.cs:276:16:276:16 | access to parameter o | non-null |
| Guards.cs:284:13:285:28 | ... => ... | false | Guards.cs:276:16:276:16 | access to parameter o | non-null |
| Guards.cs:284:13:285:28 | ... => ... | true | Guards.cs:276:16:276:16 | access to parameter o | null |
| Guards.cs:286:13:287:28 | ... => ... | true | Guards.cs:276:16:276:16 | access to parameter o | non-null |
| Guards.cs:296:16:296:17 | access to local variable b2 | match true | Guards.cs:294:13:294:14 | access to parameter b1 | false |
| Guards.cs:296:16:296:17 | access to local variable b2 | match true | Guards.cs:296:16:296:17 | access to local variable b2 | true |
| Guards.cs:308:16:308:17 | access to local variable b2 | match true | Guards.cs:306:13:306:14 | access to parameter b1 | true |
| Guards.cs:308:16:308:17 | access to local variable b2 | match true | Guards.cs:308:16:308:17 | access to local variable b2 | true |
| Guards.cs:308:16:308:17 | access to local variable b2 | non-match true | Guards.cs:306:13:306:14 | access to parameter b1 | false |
| Guards.cs:320:16:320:16 | access to local variable i | match 1 | Guards.cs:318:13:318:13 | access to parameter b | true |
| Guards.cs:320:16:320:16 | access to local variable i | match 1 | Guards.cs:320:16:320:16 | access to local variable i | 1 |
| Guards.cs:320:16:320:16 | access to local variable i | non-match 1 | Guards.cs:318:13:318:13 | access to parameter b | false |
| Guards.cs:332:16:332:16 | access to local variable e | match access to constant B | Guards.cs:330:13:330:13 | access to parameter b | true |
| Guards.cs:332:16:332:16 | access to local variable e | match access to constant B | Guards.cs:332:16:332:16 | access to local variable e | 1 |
| Guards.cs:332:16:332:16 | access to local variable e | non-match access to constant B | Guards.cs:330:13:330:13 | access to parameter b | false |
| Guards.cs:341:20:341:32 | ... ? ... : ... | non-null | Guards.cs:341:20:341:20 | access to parameter b | false |
| Guards.cs:341:20:341:32 | ... ? ... : ... | non-null | Guards.cs:341:31:341:32 | "" | non-null |
| Guards.cs:341:20:341:32 | ... ? ... : ... | null | Guards.cs:341:20:341:20 | access to parameter b | true |
| Guards.cs:341:20:341:32 | ... ? ... : ... | null | Guards.cs:341:24:341:27 | null | null |
| Guards.cs:342:13:342:13 | access to local variable s | empty | Guards.cs:341:20:341:32 | ... ? ... : ... | empty |
| Guards.cs:342:13:342:13 | access to local variable s | non-empty | Guards.cs:341:20:341:32 | ... ? ... : ... | non-empty |
| Guards.cs:342:13:342:13 | access to local variable s | non-null | Guards.cs:341:20:341:32 | ... ? ... : ... | non-null |
| Guards.cs:342:13:342:13 | access to local variable s | null | Guards.cs:341:20:341:32 | ... ? ... : ... | null |
| Guards.cs:342:13:342:21 | ... != ... | false | Guards.cs:341:20:341:20 | access to parameter b | true |
| Guards.cs:342:13:342:21 | ... != ... | false | Guards.cs:342:13:342:13 | access to local variable s | null |
| Guards.cs:342:13:342:21 | ... != ... | true | Guards.cs:341:20:341:20 | access to parameter b | false |
| Guards.cs:342:13:342:21 | ... != ... | true | Guards.cs:342:13:342:13 | access to local variable s | non-null |
| Guards.cs:342:13:342:27 | ... && ... | true | Guards.cs:342:13:342:21 | ... != ... | true |
| Guards.cs:342:13:342:27 | ... && ... | true | Guards.cs:342:26:342:27 | !... | true |
| Guards.cs:342:26:342:27 | !... | false | Guards.cs:342:27:342:27 | access to parameter b | true |
| Guards.cs:342:26:342:27 | !... | true | Guards.cs:342:27:342:27 | access to parameter b | false |
| Guards.cs:343:31:343:31 | access to local variable s | non-null | Guards.cs:341:20:341:32 | ... ? ... : ... | non-null |
| Guards.cs:343:31:343:31 | access to local variable s | null | Guards.cs:341:20:341:32 | ... ? ... : ... | null |
| Guards.cs:348:13:348:25 | ... is ... | true | Guards.cs:348:13:348:13 | access to parameter o | non-null |

View File

@@ -1,6 +0,0 @@
import csharp
import semmle.code.csharp.controlflow.Guards
query predicate impliesStep(Expr e1, AbstractValue v1, Expr e2, AbstractValue v2) {
Internal::impliesStep(e1, v1, e2, v2)
}

View File

@@ -1,25 +0,0 @@
| Guards.cs:154:24:154:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:153:13:153:34 | case ...: | match access to type Action<Object> | true |
| Guards.cs:158:24:158:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:153:13:153:34 | case ...: | non-match access to type Action<Object> | false |
| Guards.cs:158:24:158:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:155:13:155:34 | case ...: | non-match Action<String> a | false |
| Guards.cs:158:24:158:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:157:13:157:20 | case ...: | match "" | true |
| Guards.cs:160:24:160:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:153:13:153:34 | case ...: | non-match access to type Action<Object> | false |
| Guards.cs:160:24:160:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:155:13:155:34 | case ...: | non-match Action<String> a | false |
| Guards.cs:160:24:160:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:157:13:157:20 | case ...: | non-match "" | false |
| Guards.cs:160:24:160:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:159:13:159:22 | case ...: | match null | true |
| Guards.cs:162:24:162:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:153:13:153:34 | case ...: | non-match access to type Action<Object> | false |
| Guards.cs:162:24:162:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:155:13:155:34 | case ...: | non-match Action<String> a | false |
| Guards.cs:162:24:162:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:157:13:157:20 | case ...: | non-match "" | false |
| Guards.cs:162:24:162:24 | access to parameter o | Guards.cs:151:17:151:17 | access to parameter o | Guards.cs:159:13:159:22 | case ...: | non-match null | false |
| Guards.cs:279:17:279:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:278:13:279:28 | ... => ... | match access to type Action<Object> | true |
| Guards.cs:283:17:283:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:278:13:279:28 | ... => ... | non-match access to type Action<Object> | false |
| Guards.cs:283:17:283:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:280:13:281:28 | ... => ... | non-match Action<String> a | false |
| Guards.cs:283:17:283:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:282:13:283:28 | ... => ... | match "" | true |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:278:13:279:28 | ... => ... | non-match access to type Action<Object> | false |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:280:13:281:28 | ... => ... | non-match Action<String> a | false |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:282:13:283:28 | ... => ... | non-match "" | false |
| Guards.cs:285:17:285:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:284:13:285:28 | ... => ... | match null | true |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:278:13:279:28 | ... => ... | non-match access to type Action<Object> | false |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:280:13:281:28 | ... => ... | non-match Action<String> a | false |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:282:13:283:28 | ... => ... | non-match "" | false |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:284:13:285:28 | ... => ... | non-match null | false |
| Guards.cs:287:17:287:17 | access to parameter o | Guards.cs:276:16:276:16 | access to parameter o | Guards.cs:286:13:287:28 | ... => ... | match _ | true |

View File

@@ -1,8 +0,0 @@
import csharp
import semmle.code.csharp.controlflow.Guards
from GuardedExpr ge, Expr e, AbstractValues::MatchValue v, boolean match
where
e = ge.getAGuard(e, v) and
if v.isMatch() then match = true else match = false
select ge, e, v.getCase(), v, match

View File

@@ -40,7 +40,7 @@
| FormatInvalid.cs:111:23:111:25 | "}" | FormatInvalid.cs:111:23:111:25 | "}" | FormatInvalid.cs:111:23:111:25 | "}" | Invalid format string used in $@ formatting call. | FormatInvalid.cs:111:9:111:32 | call to method Write | this | FormatInvalid.cs:111:9:111:32 | call to method Write | this |
| FormatInvalid.cs:112:23:112:25 | "}" | FormatInvalid.cs:112:23:112:25 | "}" | FormatInvalid.cs:112:23:112:25 | "}" | Invalid format string used in $@ formatting call. | FormatInvalid.cs:112:9:112:35 | call to method Write | this | FormatInvalid.cs:112:9:112:35 | call to method Write | this |
| FormatInvalid.cs:113:23:113:25 | "}" | FormatInvalid.cs:113:23:113:25 | "}" | FormatInvalid.cs:113:23:113:25 | "}" | Invalid format string used in $@ formatting call. | FormatInvalid.cs:113:9:113:38 | call to method Write | this | FormatInvalid.cs:113:9:113:38 | call to method Write | this |
| FormatInvalid.cs:118:56:118:58 | "}" | FormatInvalid.cs:118:56:118:58 | [assertion success] "}" | FormatInvalid.cs:118:56:118:58 | [assertion success] "}" | Invalid format string used in $@ formatting call. | FormatInvalid.cs:118:9:118:63 | call to method Assert | this | FormatInvalid.cs:118:9:118:63 | call to method Assert | this |
| FormatInvalid.cs:118:56:118:58 | "}" | FormatInvalid.cs:118:56:118:58 | "}" | FormatInvalid.cs:118:56:118:58 | "}" | Invalid format string used in $@ formatting call. | FormatInvalid.cs:118:9:118:63 | call to method Assert | this | FormatInvalid.cs:118:9:118:63 | call to method Assert | this |
| FormatInvalid.cs:119:18:119:20 | "}" | FormatInvalid.cs:119:18:119:20 | "}" | FormatInvalid.cs:119:18:119:20 | "}" | Invalid format string used in $@ formatting call. | FormatInvalid.cs:119:9:119:24 | call to method Write | this | FormatInvalid.cs:119:9:119:24 | call to method Write | this |
| FormatInvalid.cs:120:40:120:42 | "}" | FormatInvalid.cs:120:40:120:42 | "}" | FormatInvalid.cs:120:40:120:42 | "}" | Invalid format string used in $@ formatting call. | FormatInvalid.cs:120:9:120:47 | call to method Print | this | FormatInvalid.cs:120:9:120:47 | call to method Print | this |
| FormatInvalid.cs:140:44:140:46 | "}" | FormatInvalid.cs:140:44:140:46 | "}" | FormatInvalid.cs:140:44:140:46 | "}" | Invalid format string used in $@ formatting call. | FormatInvalid.cs:140:22:140:47 | call to method Parse | this | FormatInvalid.cs:140:22:140:47 | call to method Parse | this |
@@ -264,8 +264,8 @@ nodes
| FormatInvalid.cs:112:23:112:25 | "}" | semmle.label | "}" |
| FormatInvalid.cs:113:23:113:25 | "}" | semmle.label | "}" |
| FormatInvalid.cs:113:23:113:25 | "}" | semmle.label | "}" |
| FormatInvalid.cs:118:56:118:58 | [assertion success] "}" | semmle.label | [assertion success] "}" |
| FormatInvalid.cs:118:56:118:58 | [assertion success] "}" | semmle.label | [assertion success] "}" |
| FormatInvalid.cs:118:56:118:58 | "}" | semmle.label | "}" |
| FormatInvalid.cs:118:56:118:58 | "}" | semmle.label | "}" |
| FormatInvalid.cs:119:18:119:20 | "}" | semmle.label | "}" |
| FormatInvalid.cs:119:18:119:20 | "}" | semmle.label | "}" |
| FormatInvalid.cs:120:40:120:42 | "}" | semmle.label | "}" |

View File

@@ -74,7 +74,7 @@ public class C
public void TestNull()
{
object o = null;
object o = Maybe() ? null : new object();
if (IsNotNull(o))
o.ToString(); // GOOD

View File

@@ -190,12 +190,12 @@
| E.cs:83:13:83:24 | ... != ... | false | E.cs:83:21:83:24 | null | E.cs:83:13:83:16 | access to parameter vals |
| E.cs:85:18:85:29 | ... != ... | false | E.cs:85:18:85:21 | access to parameter vals | E.cs:85:26:85:29 | null |
| E.cs:85:18:85:29 | ... != ... | false | E.cs:85:26:85:29 | null | E.cs:85:18:85:21 | access to parameter vals |
| E.cs:90:17:90:27 | access to local variable switchguard | match access to constant MY_CONST_A | E.cs:90:17:90:27 | access to local variable switchguard | E.cs:92:18:92:27 | access to constant MY_CONST_A |
| E.cs:90:17:90:27 | access to local variable switchguard | match access to constant MY_CONST_A | E.cs:92:18:92:27 | access to constant MY_CONST_A | E.cs:90:17:90:27 | access to local variable switchguard |
| E.cs:90:17:90:27 | access to local variable switchguard | match access to constant MY_CONST_B | E.cs:90:17:90:27 | access to local variable switchguard | E.cs:97:18:97:27 | access to constant MY_CONST_B |
| E.cs:90:17:90:27 | access to local variable switchguard | match access to constant MY_CONST_B | E.cs:97:18:97:27 | access to constant MY_CONST_B | E.cs:90:17:90:27 | access to local variable switchguard |
| E.cs:90:17:90:27 | access to local variable switchguard | match access to constant MY_CONST_C | E.cs:90:17:90:27 | access to local variable switchguard | E.cs:95:18:95:27 | access to constant MY_CONST_C |
| E.cs:90:17:90:27 | access to local variable switchguard | match access to constant MY_CONST_C | E.cs:95:18:95:27 | access to constant MY_CONST_C | E.cs:90:17:90:27 | access to local variable switchguard |
| E.cs:92:13:92:28 | case ...: | true | E.cs:90:17:90:27 | access to local variable switchguard | E.cs:92:18:92:27 | access to constant MY_CONST_A |
| E.cs:92:13:92:28 | case ...: | true | E.cs:92:18:92:27 | access to constant MY_CONST_A | E.cs:90:17:90:27 | access to local variable switchguard |
| E.cs:95:13:95:28 | case ...: | true | E.cs:90:17:90:27 | access to local variable switchguard | E.cs:95:18:95:27 | access to constant MY_CONST_C |
| E.cs:95:13:95:28 | case ...: | true | E.cs:95:18:95:27 | access to constant MY_CONST_C | E.cs:90:17:90:27 | access to local variable switchguard |
| E.cs:97:13:97:28 | case ...: | true | E.cs:90:17:90:27 | access to local variable switchguard | E.cs:97:18:97:27 | access to constant MY_CONST_B |
| E.cs:97:13:97:28 | case ...: | true | E.cs:97:18:97:27 | access to constant MY_CONST_B | E.cs:90:17:90:27 | access to local variable switchguard |
| E.cs:126:21:126:29 | ... == ... | true | E.cs:126:21:126:24 | access to local variable step | E.cs:126:29:126:29 | 0 |
| E.cs:126:21:126:29 | ... == ... | true | E.cs:126:29:126:29 | 0 | E.cs:126:21:126:24 | access to local variable step |
| E.cs:153:13:153:24 | ... != ... | false | E.cs:153:13:153:16 | access to local variable obj2 | E.cs:153:21:153:24 | null |
@@ -252,6 +252,8 @@
| E.cs:442:13:442:18 | ... == ... | true | E.cs:442:18:442:18 | 1 | E.cs:442:13:442:13 | access to parameter i |
| E.cs:447:13:447:18 | ... == ... | true | E.cs:447:13:447:13 | access to parameter i | E.cs:447:18:447:18 | 2 |
| E.cs:447:13:447:18 | ... == ... | true | E.cs:447:18:447:18 | 2 | E.cs:447:13:447:13 | access to parameter i |
| E.cs:447:23:447:35 | ... is ... | false | E.cs:447:23:447:23 | access to parameter s | E.cs:447:32:447:35 | null |
| E.cs:447:23:447:35 | ... is ... | false | E.cs:447:32:447:35 | null | E.cs:447:23:447:23 | access to parameter s |
| E.cs:452:13:452:18 | ... == ... | true | E.cs:452:13:452:13 | access to parameter i | E.cs:452:18:452:18 | 3 |
| E.cs:452:13:452:18 | ... == ... | true | E.cs:452:18:452:18 | 3 | E.cs:452:13:452:13 | access to parameter i |
| Forwarding.cs:59:13:59:21 | ... == ... | true | Forwarding.cs:59:13:59:13 | access to parameter o | Forwarding.cs:59:18:59:21 | null |

View File

@@ -1,5 +1,6 @@
import csharp
import semmle.code.csharp.controlflow.Guards
from Expr e1, AbstractValue v, Expr e2
select Internal::getAnEqualityCheck(e1, v, e2), v, e1, e2
from Guard guard, Expr e1, Expr e2, boolean eqval
where guard.isEquality(e1, e2, eqval)
select guard, eqval, e1, e2

View File

@@ -28,7 +28,7 @@ class ForwardingTests
if (IsNotNull(s))
{
Console.WriteLine(s.Length); // GOOD
Console.WriteLine(s.Length); // $ SPURIOUS (false positive): Alert[cs/dereferenced-value-is-always-null]
}
if (IsNotNullWrong(s))

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +0,0 @@
import csharp
import semmle.code.csharp.controlflow.Guards
query predicate impliesStep(Expr e1, AbstractValue v1, Expr e2, AbstractValue v2) {
e1.fromSource() and
e2.fromSource() and
Internal::impliesStep(e1, v1, e2, v2)
}

View File

@@ -37,6 +37,7 @@
| E.cs:405:16:405:16 | access to local variable i | Variable $@ is always null at this dereference. | E.cs:403:14:403:14 | i | i |
| E.cs:439:13:439:13 | access to parameter s | Variable $@ is always null at this dereference. | E.cs:435:29:435:29 | s | s |
| F.cs:8:9:8:9 | access to local variable o | Variable $@ is always null at this dereference. | F.cs:7:16:7:16 | o | o |
| Forwarding.cs:31:31:31:31 | access to local variable s | Variable $@ is always null at this dereference. | Forwarding.cs:7:16:7:16 | s | s |
| Forwarding.cs:36:31:36:31 | access to local variable s | Variable $@ is always null at this dereference. | Forwarding.cs:7:16:7:16 | s | s |
| Forwarding.cs:40:27:40:27 | access to local variable s | Variable $@ is always null at this dereference. | Forwarding.cs:7:16:7:16 | s | s |
| NullAlwaysBad.cs:9:30:9:30 | access to parameter s | Variable $@ is always null at this dereference. | NullAlwaysBad.cs:7:29:7:29 | s | s |

View File

@@ -1,356 +1,149 @@
| Assert.cs:10:22:10:30 | ... != ... | Assert.cs:10:22:10:22 | access to local variable s | false | true |
| Assert.cs:10:22:10:30 | ... != ... | Assert.cs:10:22:10:22 | access to local variable s | true | false |
| Assert.cs:14:23:14:23 | access to local variable s | Assert.cs:14:23:14:23 | access to local variable s | non-null | false |
| Assert.cs:14:23:14:23 | access to local variable s | Assert.cs:14:23:14:23 | access to local variable s | null | true |
| Assert.cs:18:26:18:26 | access to local variable s | Assert.cs:18:26:18:26 | access to local variable s | non-null | false |
| Assert.cs:18:26:18:26 | access to local variable s | Assert.cs:18:26:18:26 | access to local variable s | null | true |
| Assert.cs:22:23:22:31 | ... == ... | Assert.cs:22:23:22:23 | access to local variable s | false | false |
| Assert.cs:22:23:22:31 | ... == ... | Assert.cs:22:23:22:23 | access to local variable s | true | true |
| Assert.cs:26:23:26:31 | ... != ... | Assert.cs:26:23:26:23 | access to local variable s | false | true |
| Assert.cs:26:23:26:31 | ... != ... | Assert.cs:26:23:26:23 | access to local variable s | true | false |
| Assert.cs:30:24:30:32 | ... != ... | Assert.cs:30:24:30:24 | access to local variable s | false | true |
| Assert.cs:30:24:30:32 | ... != ... | Assert.cs:30:24:30:24 | access to local variable s | true | false |
| Assert.cs:34:24:34:32 | ... == ... | Assert.cs:34:24:34:24 | access to local variable s | false | false |
| Assert.cs:34:24:34:32 | ... == ... | Assert.cs:34:24:34:24 | access to local variable s | true | true |
| Assert.cs:38:23:38:31 | ... != ... | Assert.cs:38:23:38:23 | access to local variable s | false | true |
| Assert.cs:38:23:38:31 | ... != ... | Assert.cs:38:23:38:23 | access to local variable s | true | false |
| Assert.cs:42:24:42:32 | ... == ... | Assert.cs:42:24:42:24 | access to local variable s | false | false |
| Assert.cs:42:24:42:32 | ... == ... | Assert.cs:42:24:42:24 | access to local variable s | true | true |
| Assert.cs:46:23:46:31 | ... == ... | Assert.cs:46:23:46:23 | access to local variable s | false | false |
| Assert.cs:46:23:46:31 | ... == ... | Assert.cs:46:23:46:23 | access to local variable s | true | true |
| Assert.cs:50:24:50:32 | ... != ... | Assert.cs:50:24:50:24 | access to local variable s | false | true |
| Assert.cs:50:24:50:32 | ... != ... | Assert.cs:50:24:50:24 | access to local variable s | true | false |
| B.cs:12:13:12:32 | call to operator == | B.cs:12:13:12:24 | access to local variable eqCallAlways | false | false |
| B.cs:12:13:12:32 | call to operator == | B.cs:12:13:12:24 | access to local variable eqCallAlways | true | true |
| B.cs:12:13:12:32 | call to operator == | B.cs:12:29:12:32 | null | false | false |
| B.cs:12:13:12:32 | call to operator == | B.cs:12:29:12:32 | null | true | true |
| B.cs:15:13:15:22 | call to operator != | B.cs:15:13:15:14 | access to local variable b2 | false | true |
| B.cs:15:13:15:22 | call to operator != | B.cs:15:13:15:14 | access to local variable b2 | true | false |
| B.cs:15:13:15:22 | call to operator != | B.cs:15:19:15:22 | null | false | true |
| B.cs:15:13:15:22 | call to operator != | B.cs:15:19:15:22 | null | true | false |
| B.cs:18:13:18:22 | call to operator == | B.cs:18:13:18:14 | access to local variable b3 | false | false |
| B.cs:18:13:18:22 | call to operator == | B.cs:18:13:18:14 | access to local variable b3 | true | true |
| B.cs:18:13:18:22 | call to operator == | B.cs:18:19:18:22 | null | false | false |
| B.cs:18:13:18:22 | call to operator == | B.cs:18:19:18:22 | null | true | true |
| B.cs:22:13:22:33 | call to operator != | B.cs:22:13:22:25 | access to local variable neqCallAlways | false | true |
| B.cs:22:13:22:33 | call to operator != | B.cs:22:13:22:25 | access to local variable neqCallAlways | true | false |
| B.cs:22:13:22:33 | call to operator != | B.cs:22:30:22:33 | null | false | true |
| B.cs:22:13:22:33 | call to operator != | B.cs:22:30:22:33 | null | true | false |
| B.cs:53:17:53:33 | ... != ... | B.cs:53:17:53:25 | (...) ... | false | true |
| B.cs:53:17:53:33 | ... != ... | B.cs:53:17:53:25 | (...) ... | true | false |
| B.cs:53:17:53:33 | ... != ... | B.cs:53:30:53:33 | null | false | true |
| B.cs:53:17:53:33 | ... != ... | B.cs:53:30:53:33 | null | true | false |
| B.cs:55:26:55:36 | call to method Equals | B.cs:55:26:55:26 | access to local variable o | false | false |
| B.cs:55:26:55:36 | call to method Equals | B.cs:55:26:55:26 | access to local variable o | true | true |
| B.cs:55:26:55:36 | call to method Equals | B.cs:55:35:55:35 | access to local variable o | false | false |
| B.cs:55:26:55:36 | call to method Equals | B.cs:55:35:55:35 | access to local variable o | true | true |
| C.cs:11:19:11:27 | ... == ... | C.cs:11:19:11:19 | access to local variable o | false | false |
| C.cs:11:19:11:27 | ... == ... | C.cs:11:19:11:19 | access to local variable o | true | true |
| C.cs:11:19:11:27 | ... == ... | C.cs:11:24:11:27 | null | false | false |
| C.cs:11:19:11:27 | ... == ... | C.cs:11:24:11:27 | null | true | true |
| C.cs:16:15:16:23 | ... != ... | C.cs:16:15:16:15 | access to local variable o | false | true |
| C.cs:16:15:16:23 | ... != ... | C.cs:16:15:16:15 | access to local variable o | true | false |
| C.cs:16:15:16:23 | ... != ... | C.cs:16:20:16:23 | null | false | true |
| C.cs:16:15:16:23 | ... != ... | C.cs:16:20:16:23 | null | true | false |
| C.cs:24:13:24:21 | ... != ... | C.cs:24:13:24:13 | access to parameter o | false | true |
| C.cs:24:13:24:21 | ... != ... | C.cs:24:13:24:13 | access to parameter o | true | false |
| C.cs:28:37:28:45 | ... == ... | C.cs:28:37:28:37 | access to parameter o | false | false |
| C.cs:28:37:28:45 | ... == ... | C.cs:28:37:28:37 | access to parameter o | true | true |
| C.cs:30:40:30:48 | ... != ... | C.cs:30:40:30:40 | access to parameter o | false | true |
| C.cs:30:40:30:48 | ... != ... | C.cs:30:40:30:40 | access to parameter o | true | false |
| C.cs:34:13:34:21 | ... == ... | C.cs:34:13:34:13 | access to parameter o | false | false |
| C.cs:34:13:34:21 | ... == ... | C.cs:34:13:34:13 | access to parameter o | true | true |
| C.cs:41:22:41:30 | ... == ... | C.cs:41:22:41:22 | access to local variable s | false | false |
| C.cs:41:22:41:30 | ... == ... | C.cs:41:22:41:22 | access to local variable s | true | true |
| C.cs:45:22:45:30 | ... != ... | C.cs:45:22:45:22 | access to local variable s | false | true |
| C.cs:45:22:45:30 | ... != ... | C.cs:45:22:45:22 | access to local variable s | true | false |
| C.cs:56:23:56:24 | access to local variable o2 | C.cs:56:23:56:24 | access to local variable o2 | non-null | false |
| C.cs:56:23:56:24 | access to local variable o2 | C.cs:56:23:56:24 | access to local variable o2 | null | true |
| C.cs:71:26:71:27 | access to local variable o3 | C.cs:71:26:71:27 | access to local variable o3 | non-null | false |
| C.cs:71:26:71:27 | access to local variable o3 | C.cs:71:26:71:27 | access to local variable o3 | null | true |
| C.cs:78:13:78:24 | call to method IsNotNull | C.cs:78:23:78:23 | access to local variable o | false | true |
| C.cs:78:13:78:24 | call to method IsNotNull | C.cs:78:23:78:23 | access to local variable o | true | false |
| C.cs:81:14:81:22 | call to method IsNull | C.cs:81:21:81:21 | access to local variable o | false | false |
| C.cs:81:14:81:22 | call to method IsNull | C.cs:81:21:81:21 | access to local variable o | true | true |
| C.cs:88:13:88:23 | ... is ... | C.cs:88:13:88:13 | access to local variable o | true | false |
| C.cs:113:22:113:36 | ... == ... | C.cs:113:22:113:28 | access to local variable colours | false | false |
| C.cs:113:22:113:36 | ... == ... | C.cs:113:22:113:28 | access to local variable colours | true | true |
| C.cs:113:22:113:36 | ... == ... | C.cs:113:33:113:36 | null | false | false |
| C.cs:113:22:113:36 | ... == ... | C.cs:113:33:113:36 | null | true | true |
| C.cs:120:13:120:28 | ... == ... | C.cs:120:13:120:20 | access to local variable children | false | false |
| C.cs:120:13:120:28 | ... == ... | C.cs:120:13:120:20 | access to local variable children | true | true |
| C.cs:120:13:120:28 | ... == ... | C.cs:120:25:120:28 | null | false | false |
| C.cs:120:13:120:28 | ... == ... | C.cs:120:25:120:28 | null | true | true |
| C.cs:129:13:129:38 | ... == ... | C.cs:129:14:129:29 | ... = ... | false | false |
| C.cs:129:13:129:38 | ... == ... | C.cs:129:14:129:29 | ... = ... | true | true |
| C.cs:129:13:129:38 | ... == ... | C.cs:129:35:129:38 | null | false | false |
| C.cs:129:13:129:38 | ... == ... | C.cs:129:35:129:38 | null | true | true |
| C.cs:145:13:145:39 | ... != ... | C.cs:145:14:145:30 | ... = ... | false | true |
| C.cs:145:13:145:39 | ... != ... | C.cs:145:14:145:30 | ... = ... | true | false |
| C.cs:145:13:145:39 | ... != ... | C.cs:145:36:145:39 | null | false | true |
| C.cs:145:13:145:39 | ... != ... | C.cs:145:36:145:39 | null | true | false |
| C.cs:157:16:157:24 | ... != ... | C.cs:157:16:157:16 | access to local variable s | false | true |
| C.cs:157:16:157:24 | ... != ... | C.cs:157:16:157:16 | access to local variable s | true | false |
| C.cs:157:16:157:24 | ... != ... | C.cs:157:21:157:24 | null | false | true |
| C.cs:157:16:157:24 | ... != ... | C.cs:157:21:157:24 | null | true | false |
| C.cs:165:16:165:24 | ... != ... | C.cs:165:16:165:16 | access to local variable s | false | true |
| C.cs:165:16:165:24 | ... != ... | C.cs:165:16:165:16 | access to local variable s | true | false |
| C.cs:165:16:165:24 | ... != ... | C.cs:165:21:165:24 | null | false | true |
| C.cs:165:16:165:24 | ... != ... | C.cs:165:21:165:24 | null | true | false |
| C.cs:172:16:172:24 | ... != ... | C.cs:172:16:172:16 | access to local variable s | false | true |
| C.cs:172:16:172:24 | ... != ... | C.cs:172:16:172:16 | access to local variable s | true | false |
| C.cs:172:16:172:24 | ... != ... | C.cs:172:21:172:24 | null | false | true |
| C.cs:172:16:172:24 | ... != ... | C.cs:172:21:172:24 | null | true | false |
| C.cs:186:16:186:24 | ... != ... | C.cs:186:16:186:16 | access to local variable s | false | true |
| C.cs:186:16:186:24 | ... != ... | C.cs:186:16:186:16 | access to local variable s | true | false |
| C.cs:211:13:211:21 | ... != ... | C.cs:211:13:211:13 | access to local variable s | false | true |
| C.cs:211:13:211:21 | ... != ... | C.cs:211:13:211:13 | access to local variable s | true | false |
| C.cs:217:13:217:21 | ... == ... | C.cs:217:13:217:13 | access to local variable s | false | false |
| C.cs:217:13:217:21 | ... == ... | C.cs:217:13:217:13 | access to local variable s | true | true |
| C.cs:221:13:221:21 | ... != ... | C.cs:221:13:221:13 | access to local variable s | false | true |
| C.cs:221:13:221:21 | ... != ... | C.cs:221:13:221:13 | access to local variable s | true | false |
| C.cs:221:13:221:21 | ... != ... | C.cs:221:18:221:21 | null | false | false |
| C.cs:229:22:229:30 | ... != ... | C.cs:229:22:229:22 | access to local variable s | false | true |
| C.cs:229:22:229:30 | ... != ... | C.cs:229:22:229:22 | access to local variable s | true | false |
| C.cs:235:24:235:32 | ... == ... | C.cs:235:24:235:24 | access to local variable s | false | false |
| C.cs:235:24:235:32 | ... == ... | C.cs:235:24:235:24 | access to local variable s | true | true |
| C.cs:235:24:235:32 | ... == ... | C.cs:235:29:235:32 | null | false | false |
| C.cs:235:24:235:32 | ... == ... | C.cs:235:29:235:32 | null | true | true |
| D.cs:28:13:28:25 | ... != ... | D.cs:28:13:28:17 | access to parameter param | false | true |
| D.cs:28:13:28:25 | ... != ... | D.cs:28:13:28:17 | access to parameter param | true | false |
| D.cs:37:13:37:23 | ... is ... | D.cs:37:13:37:13 | access to parameter x | true | false |
| D.cs:38:13:38:21 | ... == ... | D.cs:38:13:38:13 | access to parameter x | false | false |
| D.cs:38:13:38:21 | ... == ... | D.cs:38:13:38:13 | access to parameter x | true | true |
| D.cs:39:16:39:24 | ... == ... | D.cs:39:16:39:16 | access to parameter x | false | false |
| D.cs:39:16:39:24 | ... == ... | D.cs:39:16:39:16 | access to parameter x | true | true |
| D.cs:45:13:45:22 | ... != ... | D.cs:45:13:45:14 | access to local variable o1 | false | true |
| D.cs:45:13:45:22 | ... != ... | D.cs:45:13:45:14 | access to local variable o1 | true | false |
| D.cs:48:13:48:24 | ... is ... | D.cs:48:13:48:14 | access to local variable o2 | false | true |
| D.cs:48:13:48:24 | ... is ... | D.cs:48:13:48:14 | access to local variable o2 | true | false |
| D.cs:51:13:51:44 | ... != ... | D.cs:51:14:51:35 | ... = ... | false | true |
| D.cs:51:13:51:44 | ... != ... | D.cs:51:14:51:35 | ... = ... | true | false |
| D.cs:55:23:55:32 | ... != ... | D.cs:55:23:55:24 | access to local variable o4 | false | true |
| D.cs:55:23:55:32 | ... != ... | D.cs:55:23:55:24 | access to local variable o4 | true | false |
| D.cs:58:19:58:28 | ... != ... | D.cs:58:19:58:20 | access to local variable o4 | false | true |
| D.cs:58:19:58:28 | ... != ... | D.cs:58:19:58:20 | access to local variable o4 | true | false |
| D.cs:59:13:59:22 | ... != ... | D.cs:59:13:59:14 | access to local variable o5 | false | true |
| D.cs:59:13:59:22 | ... != ... | D.cs:59:13:59:14 | access to local variable o5 | true | false |
| D.cs:61:13:61:22 | ... != ... | D.cs:61:13:61:14 | access to local variable o4 | false | true |
| D.cs:61:13:61:22 | ... != ... | D.cs:61:13:61:14 | access to local variable o4 | true | false |
| D.cs:65:14:65:29 | call to method CustomIsNull | D.cs:65:27:65:28 | access to local variable o6 | false | false |
| D.cs:65:14:65:29 | call to method CustomIsNull | D.cs:65:27:65:28 | access to local variable o6 | true | true |
| D.cs:69:18:69:27 | ... != ... | D.cs:69:18:69:19 | access to local variable o7 | false | true |
| D.cs:69:18:69:27 | ... != ... | D.cs:69:18:69:19 | access to local variable o7 | true | false |
| D.cs:76:21:76:30 | ... == ... | D.cs:76:21:76:22 | access to local variable o8 | false | false |
| D.cs:76:21:76:30 | ... == ... | D.cs:76:21:76:22 | access to local variable o8 | true | true |
| D.cs:110:26:110:35 | ... != ... | D.cs:110:26:110:27 | access to local variable xs | false | true |
| D.cs:110:26:110:35 | ... != ... | D.cs:110:26:110:27 | access to local variable xs | true | false |
| D.cs:118:13:118:21 | ... == ... | D.cs:118:13:118:13 | access to local variable x | false | false |
| D.cs:118:13:118:21 | ... == ... | D.cs:118:13:118:13 | access to local variable x | true | true |
| D.cs:119:13:119:21 | ... == ... | D.cs:119:13:119:13 | access to local variable x | false | false |
| D.cs:119:13:119:21 | ... == ... | D.cs:119:13:119:13 | access to local variable x | true | true |
| D.cs:127:20:127:28 | ... == ... | D.cs:127:20:127:20 | access to parameter a | false | false |
| D.cs:127:20:127:28 | ... == ... | D.cs:127:20:127:20 | access to parameter a | true | true |
| D.cs:128:20:128:28 | ... == ... | D.cs:128:20:128:20 | access to parameter b | false | false |
| D.cs:128:20:128:28 | ... == ... | D.cs:128:20:128:20 | access to parameter b | true | true |
| D.cs:139:13:139:21 | ... != ... | D.cs:139:13:139:13 | access to parameter a | false | true |
| D.cs:139:13:139:21 | ... != ... | D.cs:139:13:139:13 | access to parameter a | true | false |
| D.cs:152:17:152:27 | ... != ... | D.cs:152:17:152:19 | access to parameter obj | false | true |
| D.cs:152:17:152:27 | ... != ... | D.cs:152:17:152:19 | access to parameter obj | true | false |
| D.cs:196:13:196:21 | ... == ... | D.cs:196:13:196:13 | access to local variable o | false | false |
| D.cs:196:13:196:21 | ... == ... | D.cs:196:13:196:13 | access to local variable o | true | true |
| D.cs:196:13:196:21 | ... == ... | D.cs:196:18:196:21 | null | true | false |
| D.cs:206:17:206:25 | ... == ... | D.cs:206:17:206:17 | access to local variable e | false | false |
| D.cs:206:17:206:25 | ... == ... | D.cs:206:17:206:17 | access to local variable e | true | true |
| D.cs:212:18:212:26 | ... == ... | D.cs:212:18:212:18 | access to local variable n | false | false |
| D.cs:212:18:212:26 | ... == ... | D.cs:212:18:212:18 | access to local variable n | true | true |
| D.cs:212:18:212:26 | ... == ... | D.cs:212:23:212:26 | null | false | false |
| D.cs:212:18:212:26 | ... == ... | D.cs:212:23:212:26 | null | true | true |
| D.cs:216:13:216:22 | ... == ... | D.cs:216:13:216:14 | access to local variable o3 | false | false |
| D.cs:216:13:216:22 | ... == ... | D.cs:216:13:216:14 | access to local variable o3 | true | true |
| D.cs:216:13:216:22 | ... == ... | D.cs:216:19:216:22 | null | true | false |
| D.cs:221:13:221:22 | ... == ... | D.cs:221:13:221:14 | access to local variable o4 | false | false |
| D.cs:221:13:221:22 | ... == ... | D.cs:221:13:221:14 | access to local variable o4 | true | true |
| D.cs:221:13:221:22 | ... == ... | D.cs:221:19:221:22 | null | true | false |
| D.cs:242:13:242:25 | ... == ... | D.cs:242:13:242:17 | access to local variable other | false | false |
| D.cs:242:13:242:25 | ... == ... | D.cs:242:13:242:17 | access to local variable other | true | true |
| D.cs:244:13:244:25 | ... != ... | D.cs:244:13:244:17 | access to local variable other | false | true |
| D.cs:244:13:244:25 | ... != ... | D.cs:244:13:244:17 | access to local variable other | true | false |
| D.cs:266:13:266:27 | ... is ... | D.cs:266:13:266:17 | access to local variable other | true | false |
| D.cs:336:13:336:23 | ... == ... | D.cs:336:13:336:15 | access to parameter obj | false | false |
| D.cs:336:13:336:23 | ... == ... | D.cs:336:13:336:15 | access to parameter obj | true | true |
| D.cs:341:13:341:23 | ... != ... | D.cs:341:13:341:15 | access to local variable msg | false | true |
| D.cs:341:13:341:23 | ... != ... | D.cs:341:13:341:15 | access to local variable msg | true | false |
| D.cs:367:27:367:35 | ... == ... | D.cs:367:27:367:27 | access to local variable b | false | false |
| D.cs:367:27:367:35 | ... == ... | D.cs:367:27:367:27 | access to local variable b | true | true |
| D.cs:382:13:382:23 | ... != ... | D.cs:382:13:382:15 | access to local variable ioe | false | true |
| D.cs:382:13:382:23 | ... != ... | D.cs:382:13:382:15 | access to local variable ioe | true | false |
| D.cs:390:20:390:28 | ... == ... | D.cs:390:20:390:20 | access to parameter a | false | false |
| D.cs:390:20:390:28 | ... == ... | D.cs:390:20:390:20 | access to parameter a | true | true |
| D.cs:397:20:397:28 | ... == ... | D.cs:397:20:397:20 | access to parameter b | false | false |
| D.cs:397:20:397:28 | ... == ... | D.cs:397:20:397:20 | access to parameter b | true | true |
| D.cs:407:14:407:22 | ... != ... | D.cs:407:14:407:14 | access to parameter x | false | true |
| D.cs:407:14:407:22 | ... != ... | D.cs:407:14:407:14 | access to parameter x | true | false |
| D.cs:407:27:407:35 | ... == ... | D.cs:407:27:407:27 | access to parameter y | false | false |
| D.cs:407:27:407:35 | ... == ... | D.cs:407:27:407:27 | access to parameter y | true | true |
| D.cs:407:42:407:50 | ... == ... | D.cs:407:42:407:42 | access to parameter x | false | false |
| D.cs:407:42:407:50 | ... == ... | D.cs:407:42:407:42 | access to parameter x | true | true |
| D.cs:407:55:407:63 | ... != ... | D.cs:407:55:407:55 | access to parameter y | false | true |
| D.cs:407:55:407:63 | ... != ... | D.cs:407:55:407:55 | access to parameter y | true | false |
| D.cs:409:13:409:21 | ... != ... | D.cs:409:13:409:13 | access to parameter x | false | true |
| D.cs:409:13:409:21 | ... != ... | D.cs:409:13:409:13 | access to parameter x | true | false |
| D.cs:411:13:411:21 | ... != ... | D.cs:411:13:411:13 | access to parameter y | false | true |
| D.cs:411:13:411:21 | ... != ... | D.cs:411:13:411:13 | access to parameter y | true | false |
| E.cs:10:34:10:54 | ... != ... | E.cs:10:35:10:45 | ... = ... | false | true |
| E.cs:10:34:10:54 | ... != ... | E.cs:10:35:10:45 | ... = ... | true | false |
| E.cs:12:32:12:52 | ... != ... | E.cs:12:33:12:43 | ... = ... | false | true |
| E.cs:12:32:12:52 | ... != ... | E.cs:12:33:12:43 | ... = ... | true | false |
| E.cs:20:19:20:28 | ... == ... | E.cs:20:19:20:20 | access to local variable s1 | false | false |
| E.cs:20:19:20:28 | ... == ... | E.cs:20:19:20:20 | access to local variable s1 | true | true |
| E.cs:21:13:21:22 | ... == ... | E.cs:21:13:21:14 | access to local variable s2 | false | false |
| E.cs:21:13:21:22 | ... == ... | E.cs:21:13:21:14 | access to local variable s2 | true | true |
| E.cs:24:19:24:28 | ... == ... | E.cs:24:19:24:20 | access to local variable s1 | false | false |
| E.cs:24:19:24:28 | ... == ... | E.cs:24:19:24:20 | access to local variable s1 | true | true |
| E.cs:26:13:26:22 | ... != ... | E.cs:26:13:26:14 | access to local variable s2 | false | true |
| E.cs:26:13:26:22 | ... != ... | E.cs:26:13:26:14 | access to local variable s2 | true | false |
| E.cs:70:22:70:32 | ... == ... | E.cs:70:22:70:24 | access to parameter arr | false | false |
| E.cs:70:22:70:32 | ... == ... | E.cs:70:22:70:24 | access to parameter arr | true | true |
| E.cs:83:13:83:24 | ... != ... | E.cs:83:13:83:16 | access to parameter vals | false | true |
| E.cs:83:13:83:24 | ... != ... | E.cs:83:13:83:16 | access to parameter vals | true | false |
| E.cs:85:18:85:29 | ... != ... | E.cs:85:18:85:21 | access to parameter vals | false | true |
| E.cs:85:18:85:29 | ... != ... | E.cs:85:18:85:21 | access to parameter vals | true | false |
| E.cs:153:13:153:24 | ... != ... | E.cs:153:13:153:16 | access to local variable obj2 | false | true |
| E.cs:153:13:153:24 | ... != ... | E.cs:153:13:153:16 | access to local variable obj2 | true | false |
| E.cs:164:17:164:25 | ... == ... | E.cs:164:17:164:17 | access to parameter a | false | false |
| E.cs:164:17:164:25 | ... == ... | E.cs:164:17:164:17 | access to parameter a | true | true |
| E.cs:175:19:175:29 | ... == ... | E.cs:175:19:175:21 | access to parameter obj | false | false |
| E.cs:175:19:175:29 | ... == ... | E.cs:175:19:175:21 | access to parameter obj | true | true |
| E.cs:176:13:176:22 | ... == ... | E.cs:176:13:176:14 | (...) ... | false | false |
| E.cs:176:13:176:22 | ... == ... | E.cs:176:13:176:14 | (...) ... | true | true |
| E.cs:176:13:176:22 | ... == ... | E.cs:176:19:176:22 | null | true | false |
| E.cs:180:13:180:23 | ... == ... | E.cs:180:13:180:15 | access to parameter obj | false | false |
| E.cs:180:13:180:23 | ... == ... | E.cs:180:13:180:15 | access to parameter obj | true | true |
| E.cs:184:13:184:22 | ... == ... | E.cs:184:13:184:14 | (...) ... | false | false |
| E.cs:184:13:184:22 | ... == ... | E.cs:184:13:184:14 | (...) ... | true | true |
| E.cs:184:13:184:22 | ... == ... | E.cs:184:19:184:22 | null | true | false |
| E.cs:193:17:193:17 | access to parameter o | E.cs:193:17:193:17 | access to parameter o | non-null | false |
| E.cs:193:17:193:17 | access to parameter o | E.cs:193:17:193:17 | access to parameter o | null | true |
| E.cs:208:13:208:23 | ... is ... | E.cs:208:13:208:13 | access to parameter s | false | true |
| E.cs:208:13:208:23 | ... is ... | E.cs:208:13:208:13 | access to parameter s | true | false |
| E.cs:245:13:245:22 | access to property HasValue | E.cs:245:13:245:13 | access to parameter i | false | true |
| E.cs:245:13:245:22 | access to property HasValue | E.cs:245:13:245:13 | access to parameter i | true | false |
| E.cs:252:13:252:21 | ... != ... | E.cs:252:13:252:13 | access to parameter i | false | true |
| E.cs:252:13:252:21 | ... != ... | E.cs:252:13:252:13 | access to parameter i | true | false |
| E.cs:259:13:259:21 | ... == ... | E.cs:259:13:259:13 | access to parameter i | false | false |
| E.cs:259:13:259:21 | ... == ... | E.cs:259:13:259:13 | access to parameter i | true | true |
| E.cs:274:17:274:25 | ... != ... | E.cs:274:17:274:17 | access to local variable o | false | true |
| E.cs:274:17:274:25 | ... != ... | E.cs:274:17:274:17 | access to local variable o | true | false |
| E.cs:284:9:284:9 | access to local variable o | E.cs:284:9:284:9 | access to local variable o | non-null | false |
| E.cs:284:9:284:9 | access to local variable o | E.cs:284:9:284:9 | access to local variable o | null | true |
| E.cs:293:13:293:13 | access to local variable s | E.cs:293:13:293:13 | access to local variable s | non-null | false |
| E.cs:293:13:293:13 | access to local variable s | E.cs:293:13:293:13 | access to local variable s | null | true |
| E.cs:293:13:293:24 | ... == ... | E.cs:293:13:293:19 | call to method M2 | true | false |
| E.cs:306:31:306:31 | access to field l | E.cs:306:31:306:31 | access to field l | non-null | false |
| E.cs:306:31:306:31 | access to field l | E.cs:306:31:306:31 | access to field l | null | true |
| E.cs:309:13:309:22 | access to property HasValue | E.cs:309:13:309:13 | access to field l | false | true |
| E.cs:309:13:309:22 | access to property HasValue | E.cs:309:13:309:13 | access to field l | true | false |
| E.cs:321:13:321:30 | ... is ... | E.cs:321:14:321:21 | ... ?? ... | false | false |
| E.cs:321:13:321:30 | ... is ... | E.cs:321:14:321:21 | ... ?? ... | true | true |
| E.cs:321:14:321:15 | access to parameter s1 | E.cs:321:14:321:15 | access to parameter s1 | non-null | false |
| E.cs:321:14:321:15 | access to parameter s1 | E.cs:321:14:321:15 | access to parameter s1 | null | true |
| E.cs:330:17:330:28 | (...) ... | E.cs:330:17:330:28 | (...) ... | null | true |
| E.cs:336:17:336:17 | access to parameter s | E.cs:336:17:336:17 | access to parameter s | non-null | false |
| E.cs:336:17:336:17 | access to parameter s | E.cs:336:17:336:17 | access to parameter s | null | true |
| E.cs:342:17:342:17 | access to parameter s | E.cs:342:17:342:17 | access to parameter s | non-null | false |
| E.cs:342:17:342:17 | access to parameter s | E.cs:342:17:342:17 | access to parameter s | null | true |
| E.cs:348:21:348:21 | access to parameter s | E.cs:348:21:348:21 | access to parameter s | non-null | false |
| E.cs:348:21:348:21 | access to parameter s | E.cs:348:21:348:21 | access to parameter s | null | true |
| E.cs:354:21:354:21 | access to parameter s | E.cs:354:21:354:21 | access to parameter s | non-null | false |
| E.cs:354:21:354:21 | access to parameter s | E.cs:354:21:354:21 | access to parameter s | null | true |
| E.cs:355:13:355:21 | dynamic call to operator != | E.cs:355:13:355:13 | access to local variable x | false | true |
| E.cs:355:13:355:21 | dynamic call to operator != | E.cs:355:13:355:13 | access to local variable x | true | false |
| E.cs:361:17:361:17 | access to parameter s | E.cs:361:17:361:17 | access to parameter s | non-null | false |
| E.cs:361:17:361:17 | access to parameter s | E.cs:361:17:361:17 | access to parameter s | null | true |
| E.cs:362:13:362:29 | ... != ... | E.cs:362:13:362:13 | access to local variable x | false | true |
| E.cs:362:13:362:29 | ... != ... | E.cs:362:13:362:13 | access to local variable x | true | false |
| E.cs:372:13:372:23 | ... is ... | E.cs:372:13:372:13 | access to parameter o | true | false |
| E.cs:382:14:382:23 | ... == ... | E.cs:382:14:382:15 | access to parameter e1 | false | false |
| E.cs:382:14:382:23 | ... == ... | E.cs:382:14:382:15 | access to parameter e1 | true | true |
| E.cs:382:28:382:37 | ... != ... | E.cs:382:28:382:29 | access to parameter e2 | false | true |
| E.cs:382:28:382:37 | ... != ... | E.cs:382:28:382:29 | access to parameter e2 | true | false |
| E.cs:382:44:382:53 | ... != ... | E.cs:382:44:382:45 | access to parameter e1 | false | true |
| E.cs:382:44:382:53 | ... != ... | E.cs:382:44:382:45 | access to parameter e1 | true | false |
| E.cs:382:58:382:67 | ... == ... | E.cs:382:58:382:59 | access to parameter e2 | false | false |
| E.cs:382:58:382:67 | ... == ... | E.cs:382:58:382:59 | access to parameter e2 | true | true |
| E.cs:384:13:384:22 | ... == ... | E.cs:384:13:384:14 | access to parameter e1 | false | false |
| E.cs:384:13:384:22 | ... == ... | E.cs:384:13:384:14 | access to parameter e1 | true | true |
| E.cs:384:27:384:36 | ... == ... | E.cs:384:27:384:28 | access to parameter e2 | false | false |
| E.cs:384:27:384:36 | ... == ... | E.cs:384:27:384:28 | access to parameter e2 | true | true |
| E.cs:391:9:391:9 | access to parameter i | E.cs:391:9:391:9 | access to parameter i | non-null | false |
| E.cs:391:9:391:9 | access to parameter i | E.cs:391:9:391:9 | access to parameter i | null | true |
| E.cs:397:9:397:13 | access to parameter color | E.cs:397:9:397:13 | access to parameter color | non-null | false |
| E.cs:397:9:397:13 | access to parameter color | E.cs:397:9:397:13 | access to parameter color | null | true |
| E.cs:404:9:404:9 | access to local variable i | E.cs:404:9:404:9 | access to local variable i | non-null | false |
| E.cs:404:9:404:9 | access to local variable i | E.cs:404:9:404:9 | access to local variable i | null | true |
| E.cs:411:9:411:9 | access to local variable i | E.cs:411:9:411:9 | access to local variable i | non-null | false |
| E.cs:411:9:411:9 | access to local variable i | E.cs:411:9:411:9 | access to local variable i | null | true |
| E.cs:422:13:422:22 | access to property HasValue | E.cs:422:13:422:13 | access to parameter i | false | true |
| E.cs:422:13:422:22 | access to property HasValue | E.cs:422:13:422:13 | access to parameter i | true | false |
| E.cs:429:13:429:22 | access to property HasValue | E.cs:429:13:429:13 | access to parameter i | false | true |
| E.cs:429:13:429:22 | access to property HasValue | E.cs:429:13:429:13 | access to parameter i | true | false |
| E.cs:437:23:437:31 | ... is ... | E.cs:437:23:437:23 | access to parameter s | false | false |
| E.cs:437:23:437:31 | ... is ... | E.cs:437:23:437:23 | access to parameter s | true | true |
| E.cs:442:23:442:39 | ... is ... | E.cs:442:23:442:23 | access to parameter s | false | false |
| E.cs:447:23:447:35 | ... is ... | E.cs:447:23:447:23 | access to parameter s | true | false |
| E.cs:452:23:452:33 | ... is ... | E.cs:452:23:452:23 | access to parameter s | true | false |
| E.cs:457:13:457:27 | ... is ... | E.cs:457:13:457:13 | access to parameter s | false | false |
| Forwarding.cs:9:14:9:30 | call to method IsNullOrEmpty | Forwarding.cs:9:14:9:14 | access to local variable s | false | false |
| Forwarding.cs:14:13:14:32 | call to method IsNotNullOrEmpty | Forwarding.cs:14:13:14:13 | access to local variable s | true | false |
| Forwarding.cs:19:14:19:23 | call to method IsNull | Forwarding.cs:19:14:19:14 | access to local variable s | false | false |
| Forwarding.cs:19:14:19:23 | call to method IsNull | Forwarding.cs:19:14:19:14 | access to local variable s | true | true |
| Forwarding.cs:24:13:24:25 | call to method IsNotNull | Forwarding.cs:24:13:24:13 | access to local variable s | false | true |
| Forwarding.cs:24:13:24:25 | call to method IsNotNull | Forwarding.cs:24:13:24:13 | access to local variable s | true | false |
| Forwarding.cs:29:13:29:24 | call to method IsNotNull | Forwarding.cs:29:23:29:23 | access to local variable s | true | false |
| Forwarding.cs:34:13:34:29 | call to method IsNotNullWrong | Forwarding.cs:34:28:34:28 | access to local variable s | false | false |
| Forwarding.cs:45:16:45:26 | ... is ... | Forwarding.cs:45:16:45:16 | access to parameter o | true | false |
| Forwarding.cs:45:31:45:61 | call to method IsNullOrEmpty | Forwarding.cs:45:52:45:60 | (...) ... | false | false |
| Forwarding.cs:45:66:45:75 | call to method IsNull | Forwarding.cs:45:66:45:66 | access to parameter o | false | false |
| Forwarding.cs:45:66:45:75 | call to method IsNull | Forwarding.cs:45:66:45:66 | access to parameter o | true | true |
| Forwarding.cs:50:13:50:23 | ... is ... | Forwarding.cs:50:13:50:13 | access to parameter o | true | false |
| Forwarding.cs:52:21:52:51 | call to method IsNullOrEmpty | Forwarding.cs:52:42:52:50 | (...) ... | false | false |
| Forwarding.cs:59:13:59:21 | ... == ... | Forwarding.cs:59:13:59:13 | access to parameter o | false | false |
| Forwarding.cs:59:13:59:21 | ... == ... | Forwarding.cs:59:13:59:13 | access to parameter o | true | true |
| Forwarding.cs:68:16:68:38 | call to method IsNullOrEmpty | Forwarding.cs:68:37:68:37 | access to parameter s | false | false |
| Forwarding.cs:73:17:73:39 | call to method IsNullOrEmpty | Forwarding.cs:73:38:73:38 | access to parameter s | false | false |
| Forwarding.cs:78:16:78:39 | call to method ReferenceEquals | Forwarding.cs:78:32:78:32 | access to parameter o | false | false |
| Forwarding.cs:78:16:78:39 | call to method ReferenceEquals | Forwarding.cs:78:32:78:32 | access to parameter o | true | true |
| Forwarding.cs:83:16:83:24 | ... != ... | Forwarding.cs:83:16:83:16 | access to parameter o | false | true |
| Forwarding.cs:83:16:83:24 | ... != ... | Forwarding.cs:83:16:83:16 | access to parameter o | true | false |
| GuardedString.cs:9:14:9:36 | call to method IsNullOrEmpty | GuardedString.cs:9:35:9:35 | access to local variable s | false | false |
| GuardedString.cs:14:14:14:41 | call to method IsNullOrWhiteSpace | GuardedString.cs:14:40:14:40 | access to local variable s | false | false |
| GuardedString.cs:19:13:19:13 | access to local variable s | GuardedString.cs:19:13:19:13 | access to local variable s | non-null | false |
| GuardedString.cs:19:13:19:13 | access to local variable s | GuardedString.cs:19:13:19:13 | access to local variable s | null | true |
| GuardedString.cs:19:13:19:26 | ... == ... | GuardedString.cs:19:13:19:21 | access to property Length | true | false |
| GuardedString.cs:22:13:22:13 | access to local variable s | GuardedString.cs:22:13:22:13 | access to local variable s | non-null | false |
| GuardedString.cs:22:13:22:13 | access to local variable s | GuardedString.cs:22:13:22:13 | access to local variable s | null | true |
| GuardedString.cs:22:13:22:25 | ... > ... | GuardedString.cs:22:13:22:21 | access to property Length | true | false |
| GuardedString.cs:25:13:25:13 | access to local variable s | GuardedString.cs:25:13:25:13 | access to local variable s | non-null | false |
| GuardedString.cs:25:13:25:13 | access to local variable s | GuardedString.cs:25:13:25:13 | access to local variable s | null | true |
| GuardedString.cs:25:13:25:26 | ... >= ... | GuardedString.cs:25:13:25:21 | access to property Length | true | false |
| GuardedString.cs:28:13:28:13 | access to local variable s | GuardedString.cs:28:13:28:13 | access to local variable s | non-null | false |
| GuardedString.cs:28:13:28:13 | access to local variable s | GuardedString.cs:28:13:28:13 | access to local variable s | null | true |
| GuardedString.cs:28:13:28:26 | ... < ... | GuardedString.cs:28:13:28:21 | access to property Length | true | false |
| GuardedString.cs:31:13:31:13 | access to local variable s | GuardedString.cs:31:13:31:13 | access to local variable s | non-null | false |
| GuardedString.cs:31:13:31:13 | access to local variable s | GuardedString.cs:31:13:31:13 | access to local variable s | null | true |
| GuardedString.cs:31:13:31:27 | ... <= ... | GuardedString.cs:31:13:31:21 | access to property Length | true | false |
| GuardedString.cs:34:13:34:13 | access to local variable s | GuardedString.cs:34:13:34:13 | access to local variable s | non-null | false |
| GuardedString.cs:34:13:34:13 | access to local variable s | GuardedString.cs:34:13:34:13 | access to local variable s | null | true |
| GuardedString.cs:34:13:34:26 | ... != ... | GuardedString.cs:34:13:34:21 | access to property Length | false | false |
| NullAlwaysBad.cs:9:17:9:25 | ... != ... | NullAlwaysBad.cs:9:17:9:17 | access to parameter s | false | true |
| NullAlwaysBad.cs:9:17:9:25 | ... != ... | NullAlwaysBad.cs:9:17:9:17 | access to parameter s | true | false |
| NullAlwaysGood.cs:9:17:9:25 | ... != ... | NullAlwaysGood.cs:9:17:9:17 | access to parameter s | false | true |
| NullAlwaysGood.cs:9:17:9:25 | ... != ... | NullAlwaysGood.cs:9:17:9:17 | access to parameter s | true | false |
| NullMaybeGood.cs:7:13:7:21 | ... != ... | NullMaybeGood.cs:7:13:7:13 | access to parameter o | false | true |
| NullMaybeGood.cs:7:13:7:21 | ... != ... | NullMaybeGood.cs:7:13:7:13 | access to parameter o | true | false |
| StringConcatenation.cs:15:16:15:22 | ... != ... | StringConcatenation.cs:15:16:15:16 | access to local variable s | false | false |
| StringConcatenation.cs:22:16:22:22 | ... != ... | StringConcatenation.cs:22:16:22:16 | access to local variable s | false | false |
| Assert.cs:10:22:10:30 | ... != ... | Assert.cs:10:22:10:22 | access to local variable s |
| Assert.cs:22:23:22:31 | ... == ... | Assert.cs:22:23:22:23 | access to local variable s |
| Assert.cs:26:23:26:31 | ... != ... | Assert.cs:26:23:26:23 | access to local variable s |
| Assert.cs:30:24:30:32 | ... != ... | Assert.cs:30:24:30:24 | access to local variable s |
| Assert.cs:34:24:34:32 | ... == ... | Assert.cs:34:24:34:24 | access to local variable s |
| Assert.cs:38:23:38:31 | ... != ... | Assert.cs:38:23:38:23 | access to local variable s |
| Assert.cs:42:24:42:32 | ... == ... | Assert.cs:42:24:42:24 | access to local variable s |
| Assert.cs:46:23:46:31 | ... == ... | Assert.cs:46:23:46:23 | access to local variable s |
| Assert.cs:50:24:50:32 | ... != ... | Assert.cs:50:24:50:24 | access to local variable s |
| B.cs:12:13:12:32 | call to operator == | B.cs:12:13:12:24 | access to local variable eqCallAlways |
| B.cs:12:13:12:32 | call to operator == | B.cs:12:29:12:32 | null |
| B.cs:15:13:15:22 | call to operator != | B.cs:15:13:15:14 | access to local variable b2 |
| B.cs:15:13:15:22 | call to operator != | B.cs:15:19:15:22 | null |
| B.cs:18:13:18:22 | call to operator == | B.cs:18:13:18:14 | access to local variable b3 |
| B.cs:18:13:18:22 | call to operator == | B.cs:18:19:18:22 | null |
| B.cs:22:13:22:33 | call to operator != | B.cs:22:13:22:25 | access to local variable neqCallAlways |
| B.cs:22:13:22:33 | call to operator != | B.cs:22:30:22:33 | null |
| B.cs:53:17:53:33 | ... != ... | B.cs:53:17:53:25 | (...) ... |
| B.cs:53:17:53:33 | ... != ... | B.cs:53:30:53:33 | null |
| B.cs:55:26:55:36 | call to method Equals | B.cs:55:26:55:26 | access to local variable o |
| B.cs:55:26:55:36 | call to method Equals | B.cs:55:35:55:35 | access to local variable o |
| C.cs:11:19:11:27 | ... == ... | C.cs:11:19:11:19 | access to local variable o |
| C.cs:11:19:11:27 | ... == ... | C.cs:11:24:11:27 | null |
| C.cs:16:15:16:23 | ... != ... | C.cs:16:15:16:15 | access to local variable o |
| C.cs:16:15:16:23 | ... != ... | C.cs:16:20:16:23 | null |
| C.cs:24:13:24:21 | ... != ... | C.cs:24:13:24:13 | access to parameter o |
| C.cs:28:37:28:45 | ... == ... | C.cs:28:37:28:37 | access to parameter o |
| C.cs:30:40:30:48 | ... != ... | C.cs:30:40:30:40 | access to parameter o |
| C.cs:34:13:34:21 | ... == ... | C.cs:34:13:34:13 | access to parameter o |
| C.cs:41:22:41:30 | ... == ... | C.cs:41:22:41:22 | access to local variable s |
| C.cs:45:22:45:30 | ... != ... | C.cs:45:22:45:22 | access to local variable s |
| C.cs:78:13:78:24 | call to method IsNotNull | C.cs:78:23:78:23 | access to local variable o |
| C.cs:81:14:81:22 | call to method IsNull | C.cs:81:21:81:21 | access to local variable o |
| C.cs:113:22:113:36 | ... == ... | C.cs:113:22:113:28 | access to local variable colours |
| C.cs:113:22:113:36 | ... == ... | C.cs:113:33:113:36 | null |
| C.cs:120:13:120:28 | ... == ... | C.cs:120:13:120:20 | access to local variable children |
| C.cs:120:13:120:28 | ... == ... | C.cs:120:25:120:28 | null |
| C.cs:129:13:129:38 | ... == ... | C.cs:129:14:129:29 | ... = ... |
| C.cs:129:13:129:38 | ... == ... | C.cs:129:35:129:38 | null |
| C.cs:145:13:145:39 | ... != ... | C.cs:145:14:145:30 | ... = ... |
| C.cs:145:13:145:39 | ... != ... | C.cs:145:36:145:39 | null |
| C.cs:157:16:157:24 | ... != ... | C.cs:157:16:157:16 | access to local variable s |
| C.cs:157:16:157:24 | ... != ... | C.cs:157:21:157:24 | null |
| C.cs:165:16:165:24 | ... != ... | C.cs:165:16:165:16 | access to local variable s |
| C.cs:165:16:165:24 | ... != ... | C.cs:165:21:165:24 | null |
| C.cs:172:16:172:24 | ... != ... | C.cs:172:16:172:16 | access to local variable s |
| C.cs:172:16:172:24 | ... != ... | C.cs:172:21:172:24 | null |
| C.cs:186:16:186:24 | ... != ... | C.cs:186:16:186:16 | access to local variable s |
| C.cs:211:13:211:21 | ... != ... | C.cs:211:13:211:13 | access to local variable s |
| C.cs:217:13:217:21 | ... == ... | C.cs:217:13:217:13 | access to local variable s |
| C.cs:229:22:229:30 | ... != ... | C.cs:229:22:229:22 | access to local variable s |
| C.cs:235:24:235:32 | ... == ... | C.cs:235:24:235:24 | access to local variable s |
| C.cs:235:24:235:32 | ... == ... | C.cs:235:29:235:32 | null |
| D.cs:28:13:28:25 | ... != ... | D.cs:28:13:28:17 | access to parameter param |
| D.cs:38:13:38:21 | ... == ... | D.cs:38:13:38:13 | access to parameter x |
| D.cs:39:16:39:24 | ... == ... | D.cs:39:16:39:16 | access to parameter x |
| D.cs:45:13:45:22 | ... != ... | D.cs:45:13:45:14 | access to local variable o1 |
| D.cs:48:13:48:24 | ... is ... | D.cs:48:13:48:14 | access to local variable o2 |
| D.cs:51:13:51:44 | ... != ... | D.cs:51:14:51:35 | ... = ... |
| D.cs:55:23:55:32 | ... != ... | D.cs:55:23:55:24 | access to local variable o4 |
| D.cs:58:19:58:28 | ... != ... | D.cs:58:19:58:20 | access to local variable o4 |
| D.cs:59:13:59:22 | ... != ... | D.cs:59:13:59:14 | access to local variable o5 |
| D.cs:61:13:61:22 | ... != ... | D.cs:61:13:61:14 | access to local variable o4 |
| D.cs:65:14:65:29 | call to method CustomIsNull | D.cs:65:27:65:28 | access to local variable o6 |
| D.cs:69:18:69:27 | ... != ... | D.cs:69:18:69:19 | access to local variable o7 |
| D.cs:76:21:76:30 | ... == ... | D.cs:76:21:76:22 | access to local variable o8 |
| D.cs:110:26:110:35 | ... != ... | D.cs:110:26:110:27 | access to local variable xs |
| D.cs:118:13:118:21 | ... == ... | D.cs:118:13:118:13 | access to local variable x |
| D.cs:119:13:119:21 | ... == ... | D.cs:119:13:119:13 | access to local variable x |
| D.cs:127:20:127:28 | ... == ... | D.cs:127:20:127:20 | access to parameter a |
| D.cs:128:20:128:28 | ... == ... | D.cs:128:20:128:20 | access to parameter b |
| D.cs:139:13:139:21 | ... != ... | D.cs:139:13:139:13 | access to parameter a |
| D.cs:152:17:152:27 | ... != ... | D.cs:152:17:152:19 | access to parameter obj |
| D.cs:206:17:206:25 | ... == ... | D.cs:206:17:206:17 | access to local variable e |
| D.cs:212:18:212:26 | ... == ... | D.cs:212:18:212:18 | access to local variable n |
| D.cs:212:18:212:26 | ... == ... | D.cs:212:23:212:26 | null |
| D.cs:242:13:242:25 | ... == ... | D.cs:242:13:242:17 | access to local variable other |
| D.cs:244:13:244:25 | ... != ... | D.cs:244:13:244:17 | access to local variable other |
| D.cs:336:13:336:23 | ... == ... | D.cs:336:13:336:15 | access to parameter obj |
| D.cs:341:13:341:23 | ... != ... | D.cs:341:13:341:15 | access to local variable msg |
| D.cs:367:27:367:35 | ... == ... | D.cs:367:27:367:27 | access to local variable b |
| D.cs:382:13:382:23 | ... != ... | D.cs:382:13:382:15 | access to local variable ioe |
| D.cs:390:20:390:28 | ... == ... | D.cs:390:20:390:20 | access to parameter a |
| D.cs:397:20:397:28 | ... == ... | D.cs:397:20:397:20 | access to parameter b |
| D.cs:407:14:407:22 | ... != ... | D.cs:407:14:407:14 | access to parameter x |
| D.cs:407:27:407:35 | ... == ... | D.cs:407:27:407:27 | access to parameter y |
| D.cs:407:42:407:50 | ... == ... | D.cs:407:42:407:42 | access to parameter x |
| D.cs:407:55:407:63 | ... != ... | D.cs:407:55:407:55 | access to parameter y |
| D.cs:409:13:409:21 | ... != ... | D.cs:409:13:409:13 | access to parameter x |
| D.cs:411:13:411:21 | ... != ... | D.cs:411:13:411:13 | access to parameter y |
| E.cs:10:34:10:54 | ... != ... | E.cs:10:35:10:45 | ... = ... |
| E.cs:12:32:12:52 | ... != ... | E.cs:12:33:12:43 | ... = ... |
| E.cs:20:19:20:28 | ... == ... | E.cs:20:19:20:20 | access to local variable s1 |
| E.cs:21:13:21:22 | ... == ... | E.cs:21:13:21:14 | access to local variable s2 |
| E.cs:24:19:24:28 | ... == ... | E.cs:24:19:24:20 | access to local variable s1 |
| E.cs:26:13:26:22 | ... != ... | E.cs:26:13:26:14 | access to local variable s2 |
| E.cs:70:22:70:32 | ... == ... | E.cs:70:22:70:24 | access to parameter arr |
| E.cs:83:13:83:24 | ... != ... | E.cs:83:13:83:16 | access to parameter vals |
| E.cs:85:18:85:29 | ... != ... | E.cs:85:18:85:21 | access to parameter vals |
| E.cs:153:13:153:24 | ... != ... | E.cs:153:13:153:16 | access to local variable obj2 |
| E.cs:164:17:164:25 | ... == ... | E.cs:164:17:164:17 | access to parameter a |
| E.cs:175:19:175:29 | ... == ... | E.cs:175:19:175:21 | access to parameter obj |
| E.cs:180:13:180:23 | ... == ... | E.cs:180:13:180:15 | access to parameter obj |
| E.cs:193:17:193:17 | access to parameter o | E.cs:193:17:193:17 | access to parameter o |
| E.cs:208:13:208:23 | ... is ... | E.cs:208:13:208:13 | access to parameter s |
| E.cs:245:13:245:22 | access to property HasValue | E.cs:245:13:245:13 | access to parameter i |
| E.cs:252:13:252:21 | ... != ... | E.cs:252:13:252:13 | access to parameter i |
| E.cs:259:13:259:21 | ... == ... | E.cs:259:13:259:13 | access to parameter i |
| E.cs:274:17:274:25 | ... != ... | E.cs:274:17:274:17 | access to local variable o |
| E.cs:284:9:284:9 | access to local variable o | E.cs:284:9:284:9 | access to local variable o |
| E.cs:293:13:293:13 | access to local variable s | E.cs:293:13:293:13 | access to local variable s |
| E.cs:306:31:306:31 | access to field l | E.cs:306:31:306:31 | access to field l |
| E.cs:309:13:309:22 | access to property HasValue | E.cs:309:13:309:13 | access to field l |
| E.cs:321:13:321:30 | ... is ... | E.cs:321:14:321:21 | ... ?? ... |
| E.cs:321:14:321:15 | access to parameter s1 | E.cs:321:14:321:15 | access to parameter s1 |
| E.cs:330:17:330:28 | (...) ... | E.cs:330:17:330:28 | (...) ... |
| E.cs:336:17:336:17 | access to parameter s | E.cs:336:17:336:17 | access to parameter s |
| E.cs:342:17:342:17 | access to parameter s | E.cs:342:17:342:17 | access to parameter s |
| E.cs:348:21:348:21 | access to parameter s | E.cs:348:21:348:21 | access to parameter s |
| E.cs:354:21:354:21 | access to parameter s | E.cs:354:21:354:21 | access to parameter s |
| E.cs:355:13:355:21 | dynamic call to operator != | E.cs:355:13:355:13 | access to local variable x |
| E.cs:361:17:361:17 | access to parameter s | E.cs:361:17:361:17 | access to parameter s |
| E.cs:362:13:362:29 | ... != ... | E.cs:362:13:362:13 | access to local variable x |
| E.cs:382:14:382:23 | ... == ... | E.cs:382:14:382:15 | access to parameter e1 |
| E.cs:382:28:382:37 | ... != ... | E.cs:382:28:382:29 | access to parameter e2 |
| E.cs:382:44:382:53 | ... != ... | E.cs:382:44:382:45 | access to parameter e1 |
| E.cs:382:58:382:67 | ... == ... | E.cs:382:58:382:59 | access to parameter e2 |
| E.cs:384:13:384:22 | ... == ... | E.cs:384:13:384:14 | access to parameter e1 |
| E.cs:384:27:384:36 | ... == ... | E.cs:384:27:384:28 | access to parameter e2 |
| E.cs:391:9:391:9 | access to parameter i | E.cs:391:9:391:9 | access to parameter i |
| E.cs:397:9:397:13 | access to parameter color | E.cs:397:9:397:13 | access to parameter color |
| E.cs:404:9:404:9 | access to local variable i | E.cs:404:9:404:9 | access to local variable i |
| E.cs:422:13:422:22 | access to property HasValue | E.cs:422:13:422:13 | access to parameter i |
| E.cs:429:13:429:22 | access to property HasValue | E.cs:429:13:429:13 | access to parameter i |
| E.cs:437:23:437:31 | ... is ... | E.cs:437:23:437:23 | access to parameter s |
| E.cs:447:23:447:35 | ... is ... | E.cs:447:23:447:23 | access to parameter s |
| Forwarding.cs:45:66:45:75 | call to method IsNull | Forwarding.cs:45:66:45:66 | access to parameter o |
| Forwarding.cs:59:13:59:21 | ... == ... | Forwarding.cs:59:13:59:13 | access to parameter o |
| Forwarding.cs:78:16:78:39 | call to method ReferenceEquals | Forwarding.cs:78:32:78:32 | access to parameter o |
| Forwarding.cs:83:16:83:24 | ... != ... | Forwarding.cs:83:16:83:16 | access to parameter o |
| GuardedString.cs:19:13:19:13 | access to local variable s | GuardedString.cs:19:13:19:13 | access to local variable s |
| GuardedString.cs:22:13:22:13 | access to local variable s | GuardedString.cs:22:13:22:13 | access to local variable s |
| GuardedString.cs:25:13:25:13 | access to local variable s | GuardedString.cs:25:13:25:13 | access to local variable s |
| GuardedString.cs:28:13:28:13 | access to local variable s | GuardedString.cs:28:13:28:13 | access to local variable s |
| GuardedString.cs:31:13:31:13 | access to local variable s | GuardedString.cs:31:13:31:13 | access to local variable s |
| GuardedString.cs:34:13:34:13 | access to local variable s | GuardedString.cs:34:13:34:13 | access to local variable s |
| NullAlwaysBad.cs:9:17:9:25 | ... != ... | NullAlwaysBad.cs:9:17:9:17 | access to parameter s |
| NullAlwaysGood.cs:9:17:9:25 | ... != ... | NullAlwaysGood.cs:9:17:9:17 | access to parameter s |
| NullMaybeGood.cs:7:13:7:21 | ... != ... | NullMaybeGood.cs:7:13:7:13 | access to parameter o |

View File

@@ -1,5 +1,6 @@
import csharp
import semmle.code.csharp.controlflow.Guards
from DereferenceableExpr de, AbstractValue v, boolean isNull
select de.getANullCheck(v, isNull), de, v, isNull
from DereferenceableExpr de, Guards::Guard reason
where de.guardSuggestsMaybeNull(reason)
select reason, de

View File

@@ -57,7 +57,9 @@
| E.cs:423:38:423:38 | access to parameter i | Variable $@ may be null at this access because it has a nullable type. | E.cs:420:27:420:27 | i | i | E.cs:420:27:420:27 | i | this |
| E.cs:430:39:430:39 | access to parameter i | Variable $@ may be null at this access because it has a nullable type. | E.cs:427:27:427:27 | i | i | E.cs:427:27:427:27 | i | this |
| E.cs:444:13:444:13 | access to parameter s | Variable $@ may be null at this access as suggested by $@ null check. | E.cs:435:29:435:29 | s | s | E.cs:437:23:437:31 | ... is ... | this |
| E.cs:444:13:444:13 | access to parameter s | Variable $@ may be null at this access as suggested by $@ null check. | E.cs:435:29:435:29 | s | s | E.cs:447:23:447:35 | ... is ... | this |
| E.cs:459:13:459:13 | access to parameter s | Variable $@ may be null at this access as suggested by $@ null check. | E.cs:435:29:435:29 | s | s | E.cs:437:23:437:31 | ... is ... | this |
| E.cs:459:13:459:13 | access to parameter s | Variable $@ may be null at this access as suggested by $@ null check. | E.cs:435:29:435:29 | s | s | E.cs:447:23:447:35 | ... is ... | this |
| GuardedString.cs:35:31:35:31 | access to local variable s | Variable $@ may be null at this access because of $@ assignment. | GuardedString.cs:7:16:7:16 | s | s | GuardedString.cs:7:16:7:32 | String s = ... | this |
| NullMaybeBad.cs:7:27:7:27 | access to parameter o | Variable $@ may be null at this access because of $@ null argument. | NullMaybeBad.cs:5:25:5:25 | o | o | NullMaybeBad.cs:13:17:13:20 | null | this |
| Params.cs:14:17:14:20 | access to parameter args | Variable $@ may be null at this access because of $@ null argument. | Params.cs:12:36:12:39 | args | args | Params.cs:20:12:20:15 | null | this |

View File

@@ -297,7 +297,7 @@ module Make<
*/
predicate isIntRange(int bound, boolean upper) { this = TIntRange(bound, upper) }
/** Holds if this value represents throwing an exception. */
/** Holds if this value represents throwing an exception (or exiting). */
predicate isThrowsException() { this = TException(true) }
/** Gets a textual representation of this value. */
@@ -362,12 +362,25 @@ module Make<
v.asConstantValue() = c.asConstantValue()
}
private predicate trivialHasValue(Expr e, GuardValue v) {
constantHasValue(e, v)
or
e instanceof NonNullExpr and v.isNonNullValue()
}
/** Holds if `t` is an exception-like successor type. */
private predicate exceptionLike(SuccessorType t) {
t instanceof ExceptionSuccessor or
t instanceof ExitSuccessor
}
private predicate exceptionBranchPoint(BasicBlock bb1, BasicBlock normalSucc, BasicBlock excSucc) {
exists(SuccessorType norm, ExceptionSuccessor exc |
exists(SuccessorType norm, SuccessorType exc |
bb1.getASuccessor(norm) = normalSucc and
bb1.getASuccessor(exc) = excSucc and
normalSucc != excSucc and
not norm instanceof ExceptionSuccessor
exceptionLike(exc) and
not exceptionLike(norm)
)
}
@@ -779,6 +792,8 @@ module Make<
baseSsaValueCheck(def, ssaVal, g0, v0)
|
impliesStep1(g, v, g0, v0)
or
additionalImpliesStep(g, v, g0, v0)
)
}
@@ -815,7 +830,7 @@ module Make<
v2.isNonNullValue()
)
) and
not exprHasValue(g2, v2) // disregard trivial guard
not trivialHasValue(g2, v2) // disregard trivial guard
}
bindingset[g1, v1]
@@ -838,7 +853,7 @@ module Make<
// g1 === ... ? e : g2
g2 = getBranchExpr(cond, branch.booleanNot()) and
v2 = v1 and
not exprHasValue(g2, v2) // disregard trivial guard
not trivialHasValue(g2, v2) // disregard trivial guard
)
}
@@ -847,7 +862,7 @@ module Make<
private predicate impliesStepSsaGuard(SsaDefinition def1, GuardValue v1, Guard g2, GuardValue v2) {
def1.(SsaExplicitWrite).getValue() = g2 and
v1 = v2 and
not exprHasValue(g2, v2) // disregard trivial guard
not trivialHasValue(g2, v2) // disregard trivial guard
or
exists(Expr e, GuardValue ev |
guardDeterminesPhiInput(g2, v2.getDualValue(), def1, e) and
@@ -1097,7 +1112,7 @@ module Make<
call.getMethod() = wrapperGuard(ppos, v1, v2) and
call.getArgument(apos) = g2 and
parameterMatch(pragma[only_bind_out](ppos), pragma[only_bind_out](apos)) and
not exprHasValue(g2, v2) // disregard trivial guard
not trivialHasValue(g2, v2) // disregard trivial guard
)
}
}