diff --git a/csharp/ql/lib/semmle/code/csharp/Caching.qll b/csharp/ql/lib/semmle/code/csharp/Caching.qll index 4e34f5504dc9..50a789f79897 100644 --- a/csharp/ql/lib/semmle/code/csharp/Caching.qll +++ b/csharp/ql/lib/semmle/code/csharp/Caching.qll @@ -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() } } diff --git a/csharp/ql/lib/semmle/code/csharp/controlflow/Guards.qll b/csharp/ql/lib/semmle/code/csharp/controlflow/Guards.qll index 3e33807991a9..4914450dfc9a 100644 --- a/csharp/ql/lib/semmle/code/csharp/controlflow/Guards.qll +++ b/csharp/ql/lib/semmle/code/csharp/controlflow/Guards.qll @@ -287,15 +287,25 @@ private module LogicInput implements GuardsImpl::LogicInputSig { g2 = g1.(NullCoalescingExpr).getAnOperand() and v1.isNullValue() and v2 = v1 + or + exists(Assertion assert, AssertMethod target, int i | + assert.getAssertMethod() = target and + g1 = assert and + v1.getDualValue().isThrowsException() and + g2 = assert.getExpr(i) + | + target.(BooleanAssertMethod).getAnAssertionIndex(v2.asBooleanValue()) = i + or + target.(NullnessAssertMethod).getAnAssertionIndex(any(boolean isNull | v2.isNullness(isNull))) = + i + ) } } module Guards = GuardsImpl::Logic; /** An expression whose value may control the execution of another element. */ -class Guard extends Expr { - Guard() { isGuard(this, _) } - +class Guard extends Guards::Guard { /** * Holds if `cfn` is guarded by this expression having value `v`, where `sub` is * a sub expression of this expression that is structurally equal to the expression @@ -323,229 +333,39 @@ class Guard extends Expr { */ predicate controlsBasicBlock(BasicBlock bb, AbstractValue v) { guardControls(this, bb, v) } - /** - * Holds if this guard is an equality test between `e1` and `e2`. If the test is - * negated, that is `!=`, then `polarity` is false, otherwise `polarity` is - * true. - */ - predicate isEquality(Expr e1, Expr e2, boolean polarity) { - exists(BooleanValue v | - this = getAnEqualityCheck(e1, v, e2) and - polarity = v.getValue() - ) - } - /** * Gets a valid value for this guard. For example, if this guard is a test, then * it can have Boolean values `true` and `false`. */ - AbstractValue getAValue() { isGuard(this, result) } + deprecated AbstractValue getAValue() { isGuard(this, result) } } -/** An abstract value. */ -abstract class AbstractValue extends TAbstractValue { - /** Holds if the `s` branch out of `cfe` is taken iff `e` has this value. */ - abstract predicate branch(ControlFlowElement cfe, ConditionalSuccessor s, Expr e); - - /** Gets an abstract value that represents the dual of this value, if any. */ - abstract AbstractValue getDualValue(); - - /** - * Gets an expression that has this abstract value. Two expressions that have the - * same concrete value also have the same abstract value, but not necessarily the - * other way around. - * - * Moreover, `e = this.getAnExpr() implies not e = this.getDualValue().getAnExpr()`. - */ - abstract Expr getAnExpr(); - - /** - * Holds if this is a singleton abstract value. That is, two expressions that have - * this abstract value also have the same concrete value. - */ - abstract predicate isSingleton(); - - /** - * Holds if this value describes a referential property. For example, emptiness - * of a collection is a referential property. - * - * Such values only propagate through adjacent reads, for example, in - * - * ```csharp - * int M() - * { - * var x = new string[]{ "a", "b", "c" }.ToList(); - * x.Clear(); - * return x.Count; - * } - * ``` - * - * the non-emptiness of `new string[]{ "a", "b", "c" }.ToList()` only propagates - * to the read of `x` in `x.Clear()` and not in `x.Count`. - * - * Aliasing is not taken into account in the analyses. - */ - predicate isReferentialProperty() { none() } - - /** Gets a textual representation of this abstract value. */ - abstract string toString(); -} +class AbstractValue = GuardValue; /** Provides different types of `AbstractValues`s. */ module AbstractValues { - /** A Boolean value. */ - class BooleanValue extends AbstractValue, TBooleanValue { - /** Gets the underlying Boolean value. */ - boolean getValue() { this = TBooleanValue(result) } - - override predicate branch(ControlFlowElement cfe, ConditionalSuccessor s, Expr e) { - s.(BooleanSuccessor).getValue() = this.getValue() and - exists(BooleanCompletion c | s = c.getAMatchingSuccessorType() | - c.isValidFor(cfe) and - e = cfe - ) - } + class BooleanValue extends AbstractValue { + BooleanValue() { exists(this.asBooleanValue()) } - override BooleanValue getDualValue() { result.getValue() = this.getValue().booleanNot() } - - override Expr getAnExpr() { - result.getType() instanceof BoolType and - result.getValue() = this.getValue().toString() - } - - override predicate isSingleton() { any() } - - override string toString() { result = this.getValue().toString() } + boolean getValue() { this.asBooleanValue() = result } } - /** An integer value. */ - class IntegerValue extends AbstractValue, TIntegerValue { - /** Gets the underlying integer value. */ - int getValue() { this = TIntegerValue(result) } - - override predicate branch(ControlFlowElement cfe, ConditionalSuccessor s, Expr e) { none() } - - override IntegerValue getDualValue() { none() } + class IntegerValue extends AbstractValue { + IntegerValue() { exists(this.asIntValue()) } - override Expr getAnExpr() { - result.getValue().toInt() = this.getValue() and - ( - result.getType() instanceof Enum - or - result.getType() instanceof IntegralType - ) - } - - override predicate isSingleton() { any() } - - override string toString() { result = this.getValue().toString() } + int getValue() { this.asIntValue() = result } } - /** A value that is either `null` or non-`null`. */ - class NullValue extends AbstractValue, TNullValue { - /** Holds if this value represents `null`. */ - predicate isNull() { this = TNullValue(true) } + class NullValue extends AbstractValue { + NullValue() { this.isNullness(_) } - /** Holds if this value represents non-`null`. */ - predicate isNonNull() { this = TNullValue(false) } + predicate isNull() { this.isNullValue() } - override predicate branch(ControlFlowElement cfe, ConditionalSuccessor s, Expr e) { - this = TNullValue(s.(NullnessSuccessor).getValue()) and - exists(NullnessCompletion c | s = c.getAMatchingSuccessorType() | - c.isValidFor(cfe) and - e = cfe - ) - } - - override NullValue getDualValue() { - if this.isNull() then result.isNonNull() else result.isNull() - } + predicate isNonNull() { this.isNonNullValue() } - override DereferenceableExpr getAnExpr() { + DereferenceableExpr getAnExpr() { if this.isNull() then nullValueImplied(result) else nonNullValueImplied(result) } - - override predicate isSingleton() { this.isNull() } - - override string toString() { if this.isNull() then result = "null" else result = "non-null" } - } - - /** A value that represents match or non-match against a specific pattern. */ - class MatchValue extends AbstractValue, TMatchValue { - /** Gets the case. */ - Case getCase() { this = TMatchValue(result, _) } - - /** Holds if this value represents a match. */ - predicate isMatch() { this = TMatchValue(_, true) } - - override predicate branch(ControlFlowElement cfe, ConditionalSuccessor s, Expr e) { - this = TMatchValue(_, s.(MatchingSuccessor).getValue()) and - exists(MatchingCompletion c, Switch switch, Case case | s = c.getAMatchingSuccessorType() | - c.isValidFor(cfe) and - switchMatching(switch, case, cfe) and - e = switch.getExpr() and - case = this.getCase() - ) - } - - override MatchValue getDualValue() { - result = - any(MatchValue mv | - mv.getCase() = this.getCase() and - if this.isMatch() then not mv.isMatch() else mv.isMatch() - ) - } - - override Expr getAnExpr() { none() } - - override predicate isSingleton() { none() } - - override string toString() { - exists(string s | s = this.getCase().getPattern().toString() | - if this.isMatch() then result = "match " + s else result = "non-match " + s - ) - } - } - - /** A value that represents an empty or non-empty collection. */ - class EmptyCollectionValue extends AbstractValue, TEmptyCollectionValue { - /** Holds if this value represents an empty collection. */ - predicate isEmpty() { this = TEmptyCollectionValue(true) } - - /** Holds if this value represents a non-empty collection. */ - predicate isNonEmpty() { this = TEmptyCollectionValue(false) } - - override predicate branch(ControlFlowElement cfe, ConditionalSuccessor s, Expr e) { - this = TEmptyCollectionValue(s.(EmptinessSuccessor).getValue()) and - exists(EmptinessCompletion c, ForeachStmt fs | s = c.getAMatchingSuccessorType() | - c.isValidFor(cfe) and - foreachEmptiness(fs, cfe) and - e = fs.getIterableExpr() - ) and - // Only when taking the non-empty successor do we know that the original iterator - // expression was non-empty. When taking the empty successor, we may have already - // iterated through the `foreach` loop zero or more times, hence the iterator - // expression can be both empty and non-empty - this.isNonEmpty() - } - - override EmptyCollectionValue getDualValue() { - if this.isEmpty() then result.isNonEmpty() else result.isEmpty() - } - - override Expr getAnExpr() { - this.isEmpty() and - emptyValue(result) - or - this.isNonEmpty() and - nonEmptyValue(result) - } - - override predicate isSingleton() { none() } - - override predicate isReferentialProperty() { any() } - - override string toString() { if this.isEmpty() then result = "empty" else result = "non-empty" } } } @@ -608,133 +428,6 @@ class DereferenceableExpr extends Expr { /** Holds if this expression has a nullable type `T?`. */ predicate hasNullableType() { isNullableType = true } - /** - * Gets an expression that directly tests whether this expression is `null`. - * - * If the returned expression evaluates to `v`, then this expression is - * guaranteed to be `null` if `isNull` is true, and non-`null` if `isNull` is - * false. - * - * For example, if the expression `x != null` evaluates to `true` then the - * expression `x` is guaranteed to be non-`null`. - */ - private Expr getABooleanNullCheck(BooleanValue v, boolean isNull) { - exists(boolean branch | branch = v.getValue() | - // Comparison with `null`, for example `x != null` - exists(ComparisonTest ct, ComparisonKind ck, Expr e | - ct.getExpr() = result and - ct.getAnArgument() = this and - ct.getAnArgument() = e and - e = any(NullValue nv | nv.isNull()).getAnExpr() and - this != e and - ck = ct.getComparisonKind() - | - ck.isEquality() and isNull = branch - or - ck.isInequality() and isNull = branch.booleanNot() - ) - or - // Comparison with a non-`null` value, for example `x?.Length > 0` - exists(ComparisonTest ct, ComparisonKind ck, Expr e | ct.getExpr() = result | - ct.getAnArgument() = this and - ct.getAnArgument() = e and - e = any(NullValue nv | nv.isNonNull()).getAnExpr() and - ck = ct.getComparisonKind() and - this != e and - isNull = false and - if ck.isInequality() then branch = false else branch = true - ) - or - // Call to `string.IsNullOrEmpty()` or `string.IsNullOrWhiteSpace()` - exists(MethodCall mc, string name | result = mc | - mc.getTarget() = any(SystemStringClass c).getAMethod(name) and - name.regexpMatch("IsNullOr(Empty|WhiteSpace)") and - mc.getArgument(0) = this and - branch = false and - isNull = false - ) - or - result = - any(PatternMatch pm | - this = pm.getExpr() and - ( - // E.g. `x is null` - pm.getPattern() instanceof NullLiteral and - isNull = branch - or - // E.g. `x is string` or `x is ""` - branch.booleanNot() = patternMatchesNull(pm.getPattern()) and - isNull = false - or - exists(TypePatternExpr tpe | - // E.g. `x is string` where `x` has type `string` - typePattern(result, tpe, tpe.getCheckedType()) and - branch = false and - isNull = true - ) - ) - ) - or - this.hasNullableType() and - result = - any(PropertyAccess pa | - pa.getQualifier() = this and - pa.getTarget().hasName("HasValue") and - if branch = true then isNull = false else isNull = true - ) - or - isCustomNullCheck(result, this, v, isNull) - ) - } - - /** - * Gets an expression that tests via matching whether this expression is `null`. - * - * If the returned expression matches (`v.isMatch()`) or non-matches - * (`not v.isMatch()`), then this expression is guaranteed to be `null` - * if `isNull` is true, and non-`null` if `isNull` is false. - * - * For example, if the case statement `case string s` matches in - * - * ```csharp - * switch (o) - * { - * case string s: - * return s; - * default: - * return ""; - * } - * ``` - * - * then `o` is guaranteed to be non-`null`. - */ - private Expr getAMatchingNullCheck(MatchValue v, boolean isNull) { - exists(Switch s, Case case | - case = v.getCase() and - this = s.getExpr() and - result = this and - case = s.getACase() - | - // E.g. `case string` - case.getPattern() instanceof TypePatternExpr and - v.isMatch() and - isNull = false - or - case.getPattern() = - any(ConstantPatternExpr cpe | - if cpe instanceof NullLiteral - then - // `case null` - if v.isMatch() then isNull = true else isNull = false - else ( - // E.g. `case ""` - v.isMatch() and - isNull = false - ) - ) - ) - } - /** * Gets an expression that tests via nullness whether this expression is `null`. * @@ -759,22 +452,18 @@ class DereferenceableExpr extends Expr { ) } - /** - * Gets an expression that tests whether this expression is `null`. - * - * If the returned expression has abstract value `v`, then this expression is - * guaranteed to be `null` if `isNull` is true, and non-`null` if `isNull` is - * false. - * - * For example, if the expression `x != null` evaluates to `true` then the - * expression `x` is guaranteed to be non-`null`. - */ - Expr getANullCheck(AbstractValue v, boolean isNull) { - result = this.getABooleanNullCheck(v, isNull) - or - result = this.getAMatchingNullCheck(v, isNull) - or - result = this.getANullnessNullCheck(v, isNull) + /** Holds if `guard` suggests that this expression may be `null`. */ + predicate guardSuggestsMaybeNull(Guards::Guard guard) { + not nonNullValueImplied(this) and + ( + guard = this.getANullnessNullCheck(_, true) + or + LogicInput::additionalNullCheck(guard, _, this, true) + or + guard.isEquality(this, any(Expr n | nullValueImplied(n)), _) + or + Guards::nullGuard(guard, any(GuardValue v | exists(v.asBooleanValue())), this, true) + ) } } @@ -944,6 +633,14 @@ private AssignableAccess getATrackedAccess(Ssa::Definition def, ControlFlow::Nod cfn = def.getControlFlowNode() } +private predicate ssaMustHaveValue(Expr e, GuardValue v) { + exists(Ssa::Definition def, BasicBlock bb | + e = def.getARead() and + e.getBasicBlock() = bb and + Guards::ssaControls(def, bb, v) + ) +} + /** * A guarded expression. * @@ -982,11 +679,7 @@ private AssignableAccess getATrackedAccess(Ssa::Definition def, ControlFlow::Nod * definition). */ class GuardedExpr extends AccessOrCallExpr { - private Guard g; - private AccessOrCallExpr sub0; - private AbstractValue v0; - - GuardedExpr() { isGuardedByExpr(this, g, sub0, v0) } + GuardedExpr() { isGuardedByExpr(this, _, _, _) or ssaMustHaveValue(this, _) } /** * Gets an expression that guards this expression. That is, this expression is @@ -999,18 +692,16 @@ class GuardedExpr extends AccessOrCallExpr { * left-most qualifier, then so must the other (accessing the same SSA * variable). */ - Guard getAGuard(Expr sub, AbstractValue v) { - result = g and - sub = sub0 and - v = v0 - } + Guard getAGuard(Expr sub, AbstractValue v) { isGuardedByExpr(this, result, sub, v) } /** * Holds if this expression must have abstract value `v`. That is, this * expression is guarded by a structurally equal expression having abstract * value `v`. */ - predicate mustHaveValue(AbstractValue v) { g = this.getAGuard(g, v) } + predicate mustHaveValue(AbstractValue v) { + exists(Guard g | g = this.getAGuard(g, v)) or ssaMustHaveValue(this, v) + } /** * Holds if this expression is guarded by expression `cond`, which must @@ -1142,16 +833,6 @@ class NullGuardedDataFlowNode extends GuardedDataFlowNode { /** INTERNAL: Do not use. */ module Internal { - newtype TAbstractValue = - TBooleanValue(boolean b) { b = true or b = false } or - TIntegerValue(int i) { i = any(Expr e).getValue().toInt() } or - TNullValue(boolean b) { b = true or b = false } or - TMatchValue(Case c, boolean b) { - exists(c.getPattern()) and - (b = true or b = false) - } or - TEmptyCollectionValue(boolean b) { b = true or b = false } - /** Holds if expression `e` is a `null` value. */ predicate nullValue(Expr e) { e instanceof NullLiteral @@ -1269,22 +950,6 @@ module Internal { e = any(BinaryArithmeticOperation bao | result = bao.getAnOperand()) } - private Expr stripConditionalExpr(Expr e) { - e = - any(ConditionalExpr ce | - result = stripConditionalExpr(ce.getThen()) - or - result = stripConditionalExpr(ce.getElse()) - ) - or - not e instanceof ConditionalExpr and - result = e - } - - private predicate canReturn(Callable c, Expr ret) { - exists(Expr e | c.canReturn(e) | ret = stripConditionalExpr(e)) - } - // The predicates in this module should be evaluated in the same stage as the CFG // construction stage. This is to avoid recomputation of pre-basic-blocks and // pre-SSA predicates @@ -1292,416 +957,6 @@ module Internal { private import semmle.code.csharp.controlflow.internal.PreBasicBlocks as PreBasicBlocks private import semmle.code.csharp.controlflow.internal.PreSsa - /** - * Holds if pre-basic-block `bb` only is reached when guard `g` has abstract value `v`, - * not taking implications into account. - */ - pragma[nomagic] - private predicate preControlsDirect(Guard g, PreBasicBlocks::PreBasicBlock bb, AbstractValue v) { - exists(PreBasicBlocks::ConditionBlock cb, ConditionalSuccessor s | cb.controls(bb, s) | - v.branch(cb.getLastNode(), s, g) - ) - } - - pragma[nomagic] - private predicate preControlsDefDirect(Guard g, PreSsa::Definition def, AbstractValue v) { - preControlsDirect(g, def.getBasicBlock(), v) - } - - /** Holds if pre-basic-block `bb` only is reached when guard `g` has abstract value `v`. */ - predicate preControls(Guard g, PreBasicBlocks::PreBasicBlock bb, AbstractValue v) { - preControlsDirect(g, bb, v) - or - exists(AbstractValue v0, Guard g0 | - preControls(g0, bb, v0) and - preImpliesStep(g0, v0, g, v) - ) - } - - private class PreSsaImplicitParameterDefinition extends PreSsa::Definition { - private Parameter p; - - PreSsaImplicitParameterDefinition() { - p = this.getDefinition().(AssignableDefinitions::ImplicitParameterDefinition).getParameter() - } - - Parameter getParameter() { result = p } - - /** - * Holds if the callable that this parameter belongs to can return `ret`, but - * only if this parameter is `null` or non-`null`, as specified by `isNull`. - */ - predicate nullGuardedReturn(Expr ret, boolean isNull) { - canReturn(p.getCallable(), ret) and - exists(PreBasicBlocks::PreBasicBlock bb, NullValue nv | - preControls(this.getARead(), bb, nv) - | - ret = bb.getAnElement() and - if nv.isNull() then isNull = true else isNull = false - ) - } - } - - private predicate canReturnBool(Callable c, Expr ret) { - canReturn(c, ret) and - c.getReturnType() instanceof BoolType - } - - private predicate boolReturnImplies(Expr ret, BooleanValue retVal, Guard g, AbstractValue v) { - canReturnBool(_, ret) and - isGuard(ret, retVal) and - g = ret and - v = retVal - or - exists(Guard g0, AbstractValue v0 | - boolReturnImplies(ret, retVal, g0, v0) and - preImpliesStep(g0, v0, g, v) - ) - } - - /** - * Holds if `ret` is an expression returned by the callable to which parameter - * `p` belongs, and `ret` having Boolean value `retVal` allows the conclusion - * that the parameter `p` either is `null` or non-`null`, as specified by `isNull`. - */ - private predicate validReturnInCustomNullCheck( - Expr ret, Parameter p, BooleanValue retVal, boolean isNull - ) { - exists(Callable c | - canReturnBool(c, ret) and - p.getCallable() = c - ) and - exists(PreSsaImplicitParameterDefinition def | p = def.getParameter() | - def.nullGuardedReturn(ret, isNull) - or - exists(NullValue nv | boolReturnImplies(ret, retVal, def.getARead(), nv) | - if nv.isNull() then isNull = true else isNull = false - ) - ) - } - - /** - * Gets a non-overridable callable with a Boolean return value that performs a - * `null`-check on parameter `p`. A return value having Boolean value `retVal` - * allows us to conclude that the argument either is `null` or non-`null`, as - * specified by `isNull`. - */ - private Callable customNullCheck(Parameter p, BooleanValue retVal, boolean isNull) { - result.getReturnType() instanceof BoolType and - not result.(Overridable).isOverridableOrImplementable() and - p.getCallable() = result and - not p.isParams() and - p.getType() = any(Type t | t instanceof RefType or t instanceof NullableType) and - forex(Expr ret | - canReturn(result, ret) and - not ret.(BoolLiteral).getBoolValue() = retVal.getValue().booleanNot() - | - validReturnInCustomNullCheck(ret, p, retVal, isNull) - ) - } - - pragma[nomagic] - private predicate conditionalAssign0( - Guard guard, AbstractValue vGuard, PreSsa::PhiNode phi, Expr e, PreSsa::Definition upd, - PreBasicBlocks::PreBasicBlock bbGuard, PreBasicBlocks::PreBasicBlock bbPhi - ) { - e = upd.getDefinition().getSource() and - upd = phi.getAnInput() and - preControlsDefDirect(guard, upd, vGuard) and - bbGuard.getAnElement() = guard and - bbPhi = phi.getBasicBlock() - } - - pragma[noinline] - private predicate conditionalAssign1( - Guard guard, AbstractValue vGuard, PreSsa::PhiNode phi, Expr e, PreSsa::Definition upd, - PreBasicBlocks::PreBasicBlock bbGuard - ) { - exists(PreBasicBlocks::PreBasicBlock bbPhi | - conditionalAssign0(guard, vGuard, phi, e, upd, bbGuard, bbPhi) and - bbGuard.strictlyDominates(bbPhi) and - not preControlsDefDirect(guard, phi, vGuard) - ) - } - - pragma[noinline] - private predicate conditionalAssign2( - Guard guard, AbstractValue vGuard, PreSsa::PhiNode phi, Expr e, PreSsa::Definition upd, - PreBasicBlocks::PreBasicBlock bbGuard, PreSsa::Definition other - ) { - conditionalAssign1(guard, vGuard, phi, e, upd, bbGuard) and - other != upd and - other = phi.getAnInput() - } - - pragma[noinline] - private predicate conditionalAssign3( - Guard guard, AbstractValue vGuard, PreSsa::Definition def, Expr e, PreSsa::Definition upd, - PreBasicBlocks::PreBasicBlock bbGuard, PreSsa::Definition other - ) { - conditionalAssign2(guard, vGuard, def, e, upd, bbGuard, other) and - preControlsDefDirect(guard, other, vGuard.getDualValue()) - } - - /** Gets the successor block that is reached when guard `g` has abstract value `v`. */ - private PreBasicBlocks::PreBasicBlock getConditionalSuccessor(Guard g, AbstractValue v) { - exists(PreBasicBlocks::ConditionBlock pred, ConditionalSuccessor s | - v.branch(pred.getLastNode(), s, g) - | - result = pred.getASuccessor(s) - ) - } - - pragma[noinline] - private predicate conditionalAssign4( - Guard guard, AbstractValue vGuard, PreSsa::Definition def, Expr e, PreSsa::Definition upd, - PreBasicBlocks::PreBasicBlock bbGuard, PreSsa::Definition other - ) { - conditionalAssign2(guard, vGuard, def, e, upd, bbGuard, other) and - other.getBasicBlock().dominates(bbGuard) and - not other.isLiveAtEndOfBlock(getConditionalSuccessor(guard, vGuard)) - } - - /** - * Holds if the evaluation of `guard` to `vGuard` implies that `def` is assigned - * expression `e`. - */ - private predicate conditionalAssign( - Guard guard, AbstractValue vGuard, PreSsa::Definition def, Expr e - ) { - // For example: - // v = guard ? e : x; - exists(ConditionalExpr c | c = def.getDefinition().getSource() | - guard = c.getCondition() and - vGuard = - any(BooleanValue bv | - bv.getValue() = true and - e = c.getThen() - or - bv.getValue() = false and - e = c.getElse() - ) - ) - or - exists(PreSsa::Definition upd, PreBasicBlocks::PreBasicBlock bbGuard | - conditionalAssign1(guard, vGuard, def, e, upd, bbGuard) - | - forall(PreSsa::Definition other | - conditionalAssign2(guard, vGuard, def, e, upd, bbGuard, other) - | - // For example: - // if (guard) - // upd = a; - // else - // other = b; - // def = phi(upd, other) - conditionalAssign3(guard, vGuard, def, e, upd, bbGuard, other) - or - // For example: - // other = a; - // if (guard) - // upd = b; - // def = phi(other, upd) - conditionalAssign4(guard, vGuard, def, e, upd, bbGuard, other) - ) - ) - } - - /** - * Holds if the evaluation of `guard` to `vGuard` implies that `def` is assigned - * an expression with abstract value `vDef`. - */ - private predicate conditionalAssignVal( - Expr guard, AbstractValue vGuard, PreSsa::Definition def, AbstractValue vDef - ) { - conditionalAssign(guard, vGuard, def, vDef.getAnExpr()) - } - - pragma[noinline] - private predicate relevantEq(PreSsa::Definition def, AbstractValue v, AssignableRead ar) { - conditionalAssignVal(_, _, def, v) and - ar = def.getARead() - } - - /** - * Gets an expression that directly tests whether expression `e1` is equal - * to expression `e2`. - * - * If the returned expression evaluates to `v`, then expression `e1` is - * guaranteed to be equal to `e2`, otherwise it is guaranteed to not be - * equal to `e2`. - * - * For example, if the expression `x != ""` evaluates to `false` then the - * expression `x` is guaranteed to be equal to `""`. - */ - private Expr getABooleanEqualityCheck(Expr e1, BooleanValue v, Expr e2) { - exists(boolean branch | branch = v.getValue() | - exists(ComparisonTest ct, ComparisonKind ck | - ct.getExpr() = result and - ct.getAnArgument() = e1 and - ct.getAnArgument() = e2 and - e2 != e1 and - ck = ct.getComparisonKind() - | - ck.isEquality() and branch = true - or - ck.isInequality() and branch = false - ) - or - result = - any(IsExpr ie | - ie.getExpr() = e1 and - e2 = ie.getPattern().(ConstantPatternExpr) and - branch = true - ) - ) - } - - /** - * Gets an expression that tests via matching whether expression `e1` is equal - * to expression `e2`. - * - * If the returned expression matches (`v.isMatch()`), then expression `e1` is - * guaranteed to be equal to `e2`. If the returned expression non-matches - * (`not v.isMatch()`), then this expression is guaranteed to not be equal to `e2`. - * - * For example, if the case statement `case ""` matches in - * - * ```csharp - * switch (o) - * { - * case "": - * return s; - * default: - * return ""; - * } - * ``` - * - * then `o` is guaranteed to be equal to `""`. - */ - private Expr getAMatchingEqualityCheck(Expr e1, MatchValue v, Expr e2) { - exists(Switch s, Case case | case = v.getCase() | - e1 = s.getExpr() and - result = e1 and - case = s.getACase() and - e2 = case.getPattern().(ConstantPatternExpr) and - v.isMatch() - ) - } - - pragma[nomagic] - private Expr getAnEqualityCheckVal(Expr e, AbstractValue v, AbstractValue vExpr) { - result = getAnEqualityCheck(e, v, vExpr.getAnExpr()) - } - - /** - * Holds if the evaluation of `guard` to `vGuard` implies that `def` does not - * have the value `vDef`. - */ - private predicate guardImpliesNotEqual( - Expr guard, AbstractValue vGuard, PreSsa::Definition def, AbstractValue vDef - ) { - exists(AssignableRead ar | relevantEq(def, vDef, ar) | - // For example: - // if (de == null); vGuard = TBooleanValue(false); vDef = TNullValue(true) - // but not - // if (de == "abc"); vGuard = TBooleanValue(false); vDef = TNullValue(false) - guard = getAnEqualityCheckVal(ar, vGuard.getDualValue(), vDef) and - vDef.isSingleton() - or - // For example: - // if (de != null); vGuard = TBooleanValue(true); vDef = TNullValue(true) - // or - // if (de == null); vGuard = TBooleanValue(true); vDef = TNullValue(false) - exists(NullValue nv | - guard = - ar.(DereferenceableExpr).getANullCheck(vGuard, any(boolean b | nv = TNullValue(b))) - | - vDef = nv.getDualValue() - ) - or - // For example: - // if (de == false); vGuard = TBooleanValue(true); vDef = TBooleanValue(true) - guard = getAnEqualityCheckVal(ar, vGuard, vDef.getDualValue()) - ) - } - - /** - * Holds if `def` can have a value that is not representable as an - * abstract value. - */ - private predicate hasPossibleUnknownValue(PreSsa::Definition def) { - exists(PreSsa::Definition input | input = def.getAnUltimateDefinition() | - not exists(input.getDefinition().getSource()) - or - exists(Expr e | e = stripConditionalExpr(input.getDefinition().getSource()) | - not e = any(AbstractValue v).getAnExpr() - ) - ) - } - - /** - * Gets an ultimate definition of `def` that is not itself a phi node. The - * boolean `fromBackEdge` indicates whether the flow from `result` to `def` - * goes through a back edge. - */ - private PreSsa::Definition getADefinition(PreSsa::Definition def, boolean fromBackEdge) { - result = def and - not def instanceof PreSsa::PhiNode and - fromBackEdge = false - or - exists(PreSsa::Definition input, PreBasicBlocks::PreBasicBlock pred, boolean fbe | - input = def.(PreSsa::PhiNode).getAnInput() - | - pred = def.getBasicBlock().getAPredecessor() and - input.isLiveAtEndOfBlock(pred) and - result = getADefinition(input, fbe) and - (if def.getBasicBlock().dominates(pred) then fromBackEdge = true else fromBackEdge = fbe) - ) - } - - /** - * Holds if `e` has abstract value `v` and may be assigned to `def`. The Boolean - * `fromBackEdge` indicates whether the flow from `e` to `def` goes through a - * back edge. - */ - private predicate possibleValue( - PreSsa::Definition def, boolean fromBackEdge, Expr e, AbstractValue v - ) { - not hasPossibleUnknownValue(def) and - exists(PreSsa::Definition input | input = getADefinition(def, fromBackEdge) | - e = stripConditionalExpr(input.getDefinition().getSource()) and - v.getAnExpr() = e - ) - } - - private predicate nonUniqueValue(PreSsa::Definition def, Expr e, AbstractValue v) { - possibleValue(def, false, e, v) and - possibleValue(def, _, any(Expr other | other != e), v) - } - - /** - * Holds if `e` has abstract value `v` and may be assigned to `def` without going - * through back edges, and all other possible ultimate definitions of `def` do not - * have abstract value `v`. The trivial case where `def` is an explicit update with - * source `e` is excluded. - */ - private predicate uniqueValue(PreSsa::Definition def, Expr e, AbstractValue v) { - possibleValue(def, false, e, v) and - not nonUniqueValue(def, e, v) and - exists(Expr other | possibleValue(def, _, other, _) and other != e) - } - - /** - * Holds if `guard` having abstract value `vGuard` implies that `def` has - * abstract value `vDef`. - */ - private predicate guardImpliesEqual( - Guard guard, AbstractValue vGuard, PreSsa::Definition def, AbstractValue vDef - ) { - guard = getAnEqualityCheck(def.getARead(), vGuard, vDef.getAnExpr()) - } - private predicate nullDef(PreSsa::Definition def) { nullValueImplied(def.getDefinition().getSource()) } @@ -1718,64 +973,25 @@ module Internal { nonEmptyValue(def.getDefinition().getSource()) } + deprecated predicate isGuard(Expr e, AbstractValue val) { + ( + e.getType() instanceof BoolType and + not e instanceof BoolLiteral and + not e instanceof SwitchCaseExpr and + not e instanceof PatternExpr and + exists(val.asBooleanValue()) + or + e instanceof DereferenceableExpr and + val.isNullness(_) + ) and + not e = any(ExprStmt es).getExpr() and + not e = any(LocalVariableDeclStmt s).getAVariableDeclExpr() + } + cached private module CachedWithCfg { private import semmle.code.csharp.Caching - cached - predicate isGuard(Expr e, AbstractValue val) { - Stages::ControlFlowStage::forceCachingInSameStage() and - ( - e.getType() instanceof BoolType and - not e instanceof BoolLiteral and - not e instanceof SwitchCaseExpr and - not e instanceof PatternExpr and - val = TBooleanValue(_) - or - e instanceof DereferenceableExpr and - val = TNullValue(_) - or - val.branch(_, _, e) - or - e instanceof EnumerableCollectionExpr and - val = TEmptyCollectionValue(_) - ) and - not e = any(ExprStmt es).getExpr() and - not e = any(LocalVariableDeclStmt s).getAVariableDeclExpr() - } - - /** - * Gets an expression that tests whether expression `e1` is equal to - * expression `e2`. - * - * If the returned expression has abstract value `v`, then expression `e1` is - * guaranteed to be equal to `e2`, and if the returned expression has abstract - * value `v.getDualValue()`, then this expression is guaranteed to be - * non-equal to `e`. - * - * For example, if the expression `x != ""` evaluates to `false` then the - * expression `x` is guaranteed to be equal to `""`. - */ - cached - Expr getAnEqualityCheck(Expr e1, AbstractValue v, Expr e2) { - result = getABooleanEqualityCheck(e1, v, e2) - or - result = getABooleanEqualityCheck(e2, v, e1) - or - result = getAMatchingEqualityCheck(e1, v, e2) - or - result = getAMatchingEqualityCheck(e2, v, e1) - } - - cached - predicate isCustomNullCheck(Call call, Expr arg, BooleanValue v, boolean isNull) { - exists(Callable callable, Parameter p | - arg = call.getArgumentForParameter(any(Parameter p0 | p0.getUnboundDeclaration() = p)) and - call.getTarget().getUnboundDeclaration() = callable and - callable = customNullCheck(p, v, isNull) - ) - } - private predicate firstReadSameVarUniquePredecessor( PreSsa::Definition def, AssignableRead read ) { @@ -1787,156 +1003,6 @@ module Internal { ) } - /** - * Holds if the assumption that `g1` has abstract value `v1` implies that - * `g2` has abstract value `v2`, using one step of reasoning. That is, the - * evaluation of `g2` to `v2` dominates the evaluation of `g1` to `v1`. - * - * This predicate does not rely on the control flow graph. - */ - cached - predicate preImpliesStep(Guard g1, AbstractValue v1, Guard g2, AbstractValue v2) { - g1 = - any(BinaryOperation bo | - ( - bo instanceof BitwiseAndExpr or - bo instanceof LogicalAndExpr - ) and - g2 = bo.getAnOperand() and - v1 = TBooleanValue(true) and - v2 = v1 - ) - or - g1 = - any(BinaryOperation bo | - ( - bo instanceof BitwiseOrExpr or - bo instanceof LogicalOrExpr - ) and - g2 = bo.getAnOperand() and - v1 = TBooleanValue(false) and - v2 = v1 - ) - or - g2 = g1.(LogicalNotExpr).getOperand() and - v2 = TBooleanValue(v1.(BooleanValue).getValue().booleanNot()) - or - exists(ComparisonTest ct, boolean polarity, BoolLiteral boolLit, boolean b | - ct.getAnArgument() = boolLit and - b = boolLit.getBoolValue() and - g2 = ct.getAnArgument() and - g1 = ct.getExpr() and - v2 = TBooleanValue(v1.(BooleanValue).getValue().booleanXor(polarity).booleanXor(b)) - | - ct.getComparisonKind().isEquality() and - polarity = true - or - ct.getComparisonKind().isInequality() and - polarity = false - ) - or - exists(ConditionalExpr cond, boolean branch, Expr e, AbstractValue v | - e = v.getAnExpr() and - ( - cond.getThen() = e and branch = true - or - cond.getElse() = e and branch = false - ) - | - g1 = cond and - v1 = v.getDualValue() and - ( - // g1 === g2 ? e : ...; - g2 = cond.getCondition() and - v2 = TBooleanValue(branch.booleanNot()) - or - // g1 === ... ? g2 : e - g2 = cond.getThen() and - branch = false and - v2 = v1 - or - // g1 === g2 ? ... : e - g2 = cond.getElse() and - branch = true and - v2 = v1 - ) - ) - or - isGuard(g1, v1) and - v1 = - any(MatchValue mv | - mv.isMatch() and - g2 = g1 and - v2.getAnExpr() = mv.getCase().getPattern().(ConstantPatternExpr) and - v1 != v2 - ) - or - exists(boolean isNull | g1 = g2.(DereferenceableExpr).getANullCheck(v1, isNull) | - v2 = any(NullValue nv | if nv.isNull() then isNull = true else isNull = false) and - (g1 != g2 or v1 != v2) - ) - or - exists(boolean isEmpty | - g1 = g2.(EnumerableCollectionExpr).getAnEmptinessCheck(v1, isEmpty) - | - v2 = - any(EmptyCollectionValue ecv | if ecv.isEmpty() then isEmpty = true else isEmpty = false) and - g1 != g2 - ) - or - g1 instanceof DereferenceableExpr and - g1 = getNullEquivParent(g2) and - v1 instanceof NullValue and - v2 = v1 - or - g1 instanceof DereferenceableExpr and - g2 = getANullImplyingChild(g1) and - v1.(NullValue).isNonNull() and - v2 = v1 - or - g2 = g1.(AssignExpr).getRValue() and - isGuard(g1, v1) and - v2 = v1 - or - g2 = g1.(Assignment).getLValue() and - isGuard(g1, v1) and - v2 = v1 - or - g2 = g1.(CastExpr).getExpr() and - isGuard(g1, v1) and - v2 = v1.(NullValue) - or - exists(PreSsa::Definition def | - def.getDefinition().getSource() = g2 and - g1 = def.getARead() and - isGuard(g1, v1) and - v2 = v1 and - if v1.isReferentialProperty() then firstReadSameVarUniquePredecessor(def, g1) else any() - ) - or - exists(PreSsa::Definition def, AbstractValue v | - // If for example `def = g2 ? v : ...`, then a guard `g1` proving `def != v` - // ensures that `g2` evaluates to `false`. - conditionalAssignVal(g2, v2.getDualValue(), def, v) and - guardImpliesNotEqual(g1, v1, def, v) - ) - or - exists(PreSsa::Definition def, Expr e, AbstractValue v | - // If for example `def = g2 ? v : ...` and all other assignments to `def` are - // different from `v`, then a guard proving `def == v` ensures that `g2` - // evaluates to `true`. - uniqueValue(def, e, v) and - guardImpliesEqual(g1, v1, def, v) and - preControlsDirect(g2, any(PreBasicBlocks::PreBasicBlock bb | e = bb.getAnElement()), v2) and - not preControlsDirect(g2, any(PreBasicBlocks::PreBasicBlock bb | g1 = bb.getAnElement()), - v2) - ) - or - g2 = g1.(NullCoalescingExpr).getAnOperand() and - v1.(NullValue).isNull() and - v2 = v1 - } - cached predicate nullValueImplied(Expr e) { nullValue(e) @@ -2142,14 +1208,7 @@ module Internal { */ cached predicate guardControls(Guard g, BasicBlock bb, AbstractValue v) { - exists(ControlFlowElement cfe, ConditionalSuccessor cs | - v.branch(cfe, cs, g) and cfe.controlsBlock(bb, cs, _) - ) - or - exists(AbstractValue v0, Guard g0 | - guardControls(g0, bb, v0) and - impliesStep(g0, v0, g, v) - ) + g.(Guards::Guard).valueControls(bb, v) } pragma[nomagic] @@ -2203,21 +1262,6 @@ module Internal { ) } - private predicate adjacentReadPairSameVarUniquePredecessor( - Ssa::Definition def, ControlFlow::Node cfn1, ControlFlow::Node cfn2 - ) { - SsaImpl::adjacentReadPairSameVar(def, cfn1, cfn2) and - ( - cfn1 = cfn2 and - cfn1 = unique(ControlFlow::Node other | SsaImpl::adjacentReadPairSameVar(def, other, cfn2)) - or - cfn1 = - unique(ControlFlow::Node other | - SsaImpl::adjacentReadPairSameVar(def, other, cfn2) and other != cfn2 - ) - ) - } - pragma[noinline] private predicate isGuardedByExpr0( AccessOrCallExpr guarded, Guard g, AccessOrCallExpr sub, AbstractValue v @@ -2235,12 +1279,7 @@ module Internal { forall(ControlFlow::Node subCfn, Ssa::Definition def | nodeIsGuardedBySameSubExprSsaDef(_, guarded, g, subCfn, sub, v, def) | - exists(ControlFlow::Node guardedCfn | - def = guarded.getAnSsaQualifier(guardedCfn) and - if v.isReferentialProperty() - then adjacentReadPairSameVarUniquePredecessor(def, subCfn, guardedCfn) - else any() - ) + def = guarded.getAnSsaQualifier(_) ) } @@ -2256,39 +1295,7 @@ module Internal { guarded .getAstNode() .(AccessOrCallExpr) - .getAnSsaQualifier(guarded.getBasicBlock().getANode()) and - if v.isReferentialProperty() - then adjacentReadPairSameVarUniquePredecessor(def, subCfn, guarded) - else any() - ) - } - - private predicate firstReadUniquePredecessor(Ssa::ExplicitDefinition def, ControlFlow::Node cfn) { - exists(def.getAFirstReadAtNode(cfn)) and - not exists(ControlFlow::Node other | - SsaImpl::adjacentReadPairSameVar(def, other, cfn) and - other != cfn - ) - } - - /** - * Holds if the assumption that `g1` has abstract value `v1` implies that - * `g2` has abstract value `v2`, using one step of reasoning. That is, the - * evaluation of `g2` to `v2` dominates the evaluation of `g1` to `v1`. - * - * This predicate relies on the control flow graph. - */ - cached - predicate impliesStep(Guard g1, AbstractValue v1, Guard g2, AbstractValue v2) { - preImpliesStep(g1, v1, g2, v2) - or - forex(ControlFlow::Node cfn1 | cfn1 = g1.getAControlFlowNode() | - exists(Ssa::ExplicitDefinition def | def.getADefinition().getSource() = g2 | - g1 = def.getAReadAtNode(cfn1) and - isGuard(g1, v1) and - v2 = v1 and - if v1.isReferentialProperty() then firstReadUniquePredecessor(def, cfn1) else any() - ) + .getAnSsaQualifier(guarded.getBasicBlock().getANode()) ) } } diff --git a/csharp/ql/lib/semmle/code/csharp/controlflow/internal/Completion.qll b/csharp/ql/lib/semmle/code/csharp/controlflow/internal/Completion.qll index b1afbaed8ef0..ab8bb233e2cc 100644 --- a/csharp/ql/lib/semmle/code/csharp/controlflow/internal/Completion.qll +++ b/csharp/ql/lib/semmle/code/csharp/controlflow/internal/Completion.qll @@ -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()) diff --git a/csharp/ql/lib/semmle/code/csharp/controlflow/internal/Splitting.qll b/csharp/ql/lib/semmle/code/csharp/controlflow/internal/Splitting.qll index 210326b987ce..63d2c181da45 100644 --- a/csharp/ql/lib/semmle/code/csharp/controlflow/internal/Splitting.qll +++ b/csharp/ql/lib/semmle/code/csharp/controlflow/internal/Splitting.qll @@ -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) - } - } -} diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/Nullness.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/Nullness.qll index 6e36008ab2eb..55c0324e7c5e 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/Nullness.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/Nullness.qll @@ -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 diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPrivate.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPrivate.qll index 62ac89faef8c..f4a76b2f5770 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPrivate.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPrivate.qll @@ -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 diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/RangeUtils.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/RangeUtils.qll index 1be94669951f..069d4e6e83ac 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/RangeUtils.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/RangeUtils.qll @@ -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 ) } diff --git a/csharp/ql/test/library-tests/controlflow/graph/BasicBlock.expected b/csharp/ql/test/library-tests/controlflow/graph/BasicBlock.expected index f95409f1bd6d..c9f7d2ab35c7 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/BasicBlock.expected +++ b/csharp/ql/test/library-tests/controlflow/graph/BasicBlock.expected @@ -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 | diff --git a/csharp/ql/test/library-tests/controlflow/graph/Condition.expected b/csharp/ql/test/library-tests/controlflow/graph/Condition.expected index c705855ac648..2c2f3dbb018b 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/Condition.expected +++ b/csharp/ql/test/library-tests/controlflow/graph/Condition.expected @@ -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 | diff --git a/csharp/ql/test/library-tests/controlflow/graph/Dominance.expected b/csharp/ql/test/library-tests/controlflow/graph/Dominance.expected index 8904dfb311bd..f5368b5c7e98 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/Dominance.expected +++ b/csharp/ql/test/library-tests/controlflow/graph/Dominance.expected @@ -347,12 +347,11 @@ dominance | Assert.cs:9:20:9:20 | access to parameter b | Assert.cs:9:24:9:27 | null | | Assert.cs:9:20:9:20 | access to parameter b | Assert.cs:9:31:9:32 | "" | | Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:9:16:9:32 | String s = ... | -| Assert.cs:10:9:10:31 | [assertion failure] call to method Assert | Assert.cs:7:10:7:11 | exit M1 (abnormal) | -| 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) | +| 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 | -| Assert.cs:10:22:10:30 | ... != ... | Assert.cs:10:9:10:31 | [assertion success] call to method Assert | +| 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 | @@ -365,11 +364,10 @@ dominance | Assert.cs:16:20:16:20 | access to parameter b | Assert.cs:16:24:16:27 | null | | Assert.cs:16:20:16:20 | access to parameter b | Assert.cs:16:31:16:32 | "" | | Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:16:16:16:32 | String s = ... | -| Assert.cs:17:9:17:24 | [assertion failure] call to method IsNull | Assert.cs:14:10:14:11 | exit M2 (abnormal) | -| 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) | +| 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 | -| Assert.cs:17:23:17:23 | access to local variable s | Assert.cs:17:9:17:24 | [assertion success] call to method IsNull | +| 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 | @@ -381,11 +379,10 @@ dominance | Assert.cs:23:20:23:20 | access to parameter b | Assert.cs:23:24:23:27 | null | | Assert.cs:23:20:23:20 | access to parameter b | Assert.cs:23:31:23:32 | "" | | Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:23:16:23:32 | String s = ... | -| Assert.cs:24:9:24:27 | [assertion failure] call to method IsNotNull | Assert.cs:21:10:21:11 | exit M3 (abnormal) | -| 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) | +| 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 | -| Assert.cs:24:26:24:26 | access to local variable s | Assert.cs:24:9:24:27 | [assertion success] call to method IsNotNull | +| 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 | @@ -397,12 +394,11 @@ dominance | Assert.cs:30:20:30:20 | access to parameter b | Assert.cs:30:24:30:27 | null | | Assert.cs:30:20:30:20 | access to parameter b | Assert.cs:30:31:30:32 | "" | | Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:30:16:30:32 | String s = ... | -| Assert.cs:31:9:31:32 | [assertion failure] call to method IsTrue | Assert.cs:28:10:28:11 | exit M4 (abnormal) | -| 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) | +| 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 | -| Assert.cs:31:23:31:31 | ... == ... | Assert.cs:31:9:31:32 | [assertion success] call to method IsTrue | +| 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 | @@ -415,12 +411,11 @@ dominance | Assert.cs:37:20:37:20 | access to parameter b | Assert.cs:37:24:37:27 | null | | Assert.cs:37:20:37:20 | access to parameter b | Assert.cs:37:31:37:32 | "" | | Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:37:16:37:32 | String s = ... | -| Assert.cs:38:9:38:32 | [assertion failure] call to method IsTrue | Assert.cs:35:10:35:11 | exit M5 (abnormal) | -| 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) | +| 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 | -| Assert.cs:38:23:38:31 | ... != ... | Assert.cs:38:9:38:32 | [assertion success] call to method IsTrue | +| 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 | @@ -433,12 +428,11 @@ dominance | Assert.cs:44:20:44:20 | access to parameter b | Assert.cs:44:24:44:27 | null | | Assert.cs:44:20:44:20 | access to parameter b | Assert.cs:44:31:44:32 | "" | | Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:44:16:44:32 | String s = ... | -| Assert.cs:45:9:45:33 | [assertion failure] call to method IsFalse | Assert.cs:42:10:42:11 | exit M6 (abnormal) | -| 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) | +| 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 | -| Assert.cs:45:24:45:32 | ... != ... | Assert.cs:45:9:45:33 | [assertion success] call to method IsFalse | +| 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 | @@ -451,12 +445,11 @@ dominance | Assert.cs:51:20:51:20 | access to parameter b | Assert.cs:51:24:51:27 | null | | Assert.cs:51:20:51:20 | access to parameter b | Assert.cs:51:31:51:32 | "" | | Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:51:16:51:32 | String s = ... | -| Assert.cs:52:9:52:33 | [assertion failure] call to method IsFalse | Assert.cs:49:10:49:11 | exit M7 (abnormal) | -| 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) | +| 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 | -| Assert.cs:52:24:52:32 | ... == ... | Assert.cs:52:9:52:33 | [assertion success] call to method IsFalse | +| 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 | @@ -469,16 +462,14 @@ dominance | Assert.cs:58:20:58:20 | access to parameter b | Assert.cs:58:24:58:27 | null | | Assert.cs:58:20:58:20 | access to parameter b | Assert.cs:58:31:58:32 | "" | | Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:58:16:58:32 | String s = ... | -| Assert.cs:59:9:59:37 | [assertion failure] call to method IsTrue | Assert.cs:56:10:56:11 | exit M8 (abnormal) | -| 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) | +| 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] ... && ... | +| Assert.cs:59:23:59:31 | ... != ... | Assert.cs:59:23:59:36 | ... && ... | | Assert.cs:59:23:59:31 | ... != ... | Assert.cs:59:36:59:36 | access to parameter b | -| Assert.cs:59:23:59:36 | [false] ... && ... | Assert.cs:59:9:59:37 | [assertion failure] call to method IsTrue | -| Assert.cs:59:23:59:36 | [true] ... && ... | Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | +| 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 | [true] ... && ... | | 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 | @@ -490,16 +481,14 @@ dominance | Assert.cs:65:20:65:20 | access to parameter b | Assert.cs:65:24:65:27 | null | | Assert.cs:65:20:65:20 | access to parameter b | Assert.cs:65:31:65:32 | "" | | Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:65:16:65:32 | String s = ... | -| Assert.cs:66:9:66:38 | [assertion failure] call to method IsFalse | Assert.cs:63:10:63:11 | exit M9 (abnormal) | -| 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) | +| 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] ... \|\| ... | +| Assert.cs:66:24:66:32 | ... == ... | Assert.cs:66:24:66:37 | ... \|\| ... | | Assert.cs:66:24:66:32 | ... == ... | Assert.cs:66:37:66:37 | access to parameter b | -| Assert.cs:66:24:66:37 | [false] ... \|\| ... | Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | -| Assert.cs:66:24:66:37 | [true] ... \|\| ... | Assert.cs:66:9:66:38 | [assertion failure] call to method IsFalse | +| 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] ... \|\| ... | | 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 | @@ -511,16 +500,14 @@ dominance | Assert.cs:72:20:72:20 | access to parameter b | Assert.cs:72:24:72:27 | null | | Assert.cs:72:20:72:20 | access to parameter b | Assert.cs:72:31:72:32 | "" | | Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:72:16:72:32 | String s = ... | -| Assert.cs:73:9:73:37 | [assertion failure] call to method IsTrue | Assert.cs:70:10:70:12 | exit M10 (abnormal) | -| 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) | +| 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] ... && ... | +| Assert.cs:73:23:73:31 | ... == ... | Assert.cs:73:23:73:36 | ... && ... | | Assert.cs:73:23:73:31 | ... == ... | Assert.cs:73:36:73:36 | access to parameter b | -| Assert.cs:73:23:73:36 | [false] ... && ... | Assert.cs:73:9:73:37 | [assertion failure] call to method IsTrue | -| Assert.cs:73:23:73:36 | [true] ... && ... | Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | +| 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 | [true] ... && ... | | 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 | @@ -532,16 +519,14 @@ dominance | Assert.cs:79:20:79:20 | access to parameter b | Assert.cs:79:24:79:27 | null | | Assert.cs:79:20:79:20 | access to parameter b | Assert.cs:79:31:79:32 | "" | | Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:79:16:79:32 | String s = ... | -| Assert.cs:80:9:80:38 | [assertion failure] call to method IsFalse | Assert.cs:77:10:77:12 | exit M11 (abnormal) | -| 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) | +| 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] ... \|\| ... | +| Assert.cs:80:24:80:32 | ... != ... | Assert.cs:80:24:80:37 | ... \|\| ... | | Assert.cs:80:24:80:32 | ... != ... | Assert.cs:80:37:80:37 | access to parameter b | -| Assert.cs:80:24:80:37 | [false] ... \|\| ... | Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | -| Assert.cs:80:24:80:37 | [true] ... \|\| ... | Assert.cs:80:9:80:38 | [assertion failure] call to method IsFalse | +| 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] ... \|\| ... | | 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 | @@ -553,11 +538,11 @@ dominance | Assert.cs:86:20:86:20 | access to parameter b | Assert.cs:86:24:86:27 | null | | Assert.cs:86:20:86:20 | access to parameter b | Assert.cs:86:31:86:32 | "" | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:86:16:86:32 | String s = ... | -| 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) | +| 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 | -| Assert.cs:87:22:87:30 | ... != ... | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | +| 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 | @@ -568,10 +553,9 @@ dominance | Assert.cs:90:13:90:13 | access to parameter b | Assert.cs:90:17:90:20 | null | | Assert.cs:90:13:90:13 | access to parameter b | Assert.cs:90:24:90:25 | "" | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:90:9:90:25 | ... = ... | -| 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: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 | -| Assert.cs:91:23:91:23 | access to local variable s | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | +| 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 | @@ -581,10 +565,9 @@ dominance | Assert.cs:94:13:94:13 | access to parameter b | Assert.cs:94:17:94:20 | null | | Assert.cs:94:13:94:13 | access to parameter b | Assert.cs:94:24:94:25 | "" | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:94:9:94:25 | ... = ... | -| 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: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 | -| Assert.cs:95:26:95:26 | access to local variable s | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | +| 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 | @@ -594,11 +577,10 @@ dominance | Assert.cs:98:13:98:13 | access to parameter b | Assert.cs:98:17:98:20 | null | | Assert.cs:98:13:98:13 | access to parameter b | Assert.cs:98:24:98:25 | "" | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:98:9:98:25 | ... = ... | -| 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: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 | -| Assert.cs:99:23:99:31 | ... == ... | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | +| 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 | @@ -609,11 +591,10 @@ dominance | Assert.cs:102:13:102:13 | access to parameter b | Assert.cs:102:17:102:20 | null | | Assert.cs:102:13:102:13 | access to parameter b | Assert.cs:102:24:102:25 | "" | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:102:9:102:25 | ... = ... | -| 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: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 | -| Assert.cs:103:23:103:31 | ... != ... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | +| 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 | @@ -624,11 +605,10 @@ dominance | Assert.cs:106:13:106:13 | access to parameter b | Assert.cs:106:17:106:20 | null | | Assert.cs:106:13:106:13 | access to parameter b | Assert.cs:106:24:106:25 | "" | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:106:9:106:25 | ... = ... | -| 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: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 | -| Assert.cs:107:24:107:32 | ... != ... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | +| 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 | @@ -639,11 +619,10 @@ dominance | Assert.cs:110:13:110:13 | access to parameter b | Assert.cs:110:17:110:20 | null | | Assert.cs:110:13:110:13 | access to parameter b | Assert.cs:110:24:110:25 | "" | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:110:9:110:25 | ... = ... | -| 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: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 | -| Assert.cs:111:24:111:32 | ... == ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | +| 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 | @@ -654,15 +633,13 @@ dominance | Assert.cs:114:13:114:13 | access to parameter b | Assert.cs:114:17:114:20 | null | | Assert.cs:114:13:114:13 | access to parameter b | Assert.cs:114:24:114:25 | "" | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:114:9:114:25 | ... = ... | -| 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: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] ... && ... | +| Assert.cs:115:23:115:31 | ... != ... | Assert.cs:115:23:115:36 | ... && ... | | Assert.cs:115:23:115:31 | ... != ... | Assert.cs:115:36:115:36 | access to parameter b | -| Assert.cs:115:23:115:36 | [false] ... && ... | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | +| 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 | [true] ... && ... | | 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 | @@ -672,17 +649,14 @@ dominance | Assert.cs:118:13:118:13 | access to parameter b | Assert.cs:118:17:118:20 | null | | Assert.cs:118:13:118:13 | access to parameter b | Assert.cs:118:24:118:25 | "" | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:118:9:118:25 | ... = ... | -| 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: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] ... \|\| ... | +| Assert.cs:119:24:119:32 | ... == ... | Assert.cs:119:24:119:38 | ... \|\| ... | | Assert.cs:119:24:119:32 | ... == ... | Assert.cs:119:38:119:38 | access to parameter b | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:119:24:119:38 | [true] ... \|\| ... | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | +| 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] ... \|\| ... | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:37:119:38 | [true] !... | +| 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 | @@ -692,15 +666,13 @@ dominance | Assert.cs:122:13:122:13 | access to parameter b | Assert.cs:122:17:122:20 | null | | Assert.cs:122:13:122:13 | access to parameter b | Assert.cs:122:24:122:25 | "" | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:122:9:122:25 | ... = ... | -| 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: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] ... && ... | +| Assert.cs:123:23:123:31 | ... == ... | Assert.cs:123:23:123:36 | ... && ... | | Assert.cs:123:23:123:31 | ... == ... | Assert.cs:123:36:123:36 | access to parameter b | -| Assert.cs:123:23:123:36 | [false] ... && ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | +| 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 | [true] ... && ... | | 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 | @@ -710,17 +682,14 @@ dominance | Assert.cs:126:13:126:13 | access to parameter b | Assert.cs:126:17:126:20 | null | | Assert.cs:126:13:126:13 | access to parameter b | Assert.cs:126:24:126:25 | "" | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:126:9:126:25 | ... = ... | -| 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: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] ... \|\| ... | +| Assert.cs:127:24:127:32 | ... != ... | Assert.cs:127:24:127:38 | ... \|\| ... | | Assert.cs:127:24:127:32 | ... != ... | Assert.cs:127:38:127:38 | access to parameter b | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:127:24:127:38 | [true] ... \|\| ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | +| 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] ... \|\| ... | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:37:127:38 | [true] !... | +| 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 | @@ -730,17 +699,13 @@ dominance | Assert.cs:135:5:136:5 | {...} | Assert.cs:131:18:131:32 | exit AssertTrueFalse (normal) | | Assert.cs:138:10:138:12 | enter M13 | Assert.cs:139:5:142:5 | {...} | | Assert.cs:139:5:142:5 | {...} | Assert.cs:140:9:140:36 | ...; | -| 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) | +| 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 | | 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 | [assertion failure] access to parameter b2 | Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | -| Assert.cs:140:29:140:30 | access to parameter b2 | Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | -| Assert.cs:140:29:140:30 | access to parameter b2 | Assert.cs:140:33:140:34 | [assertion success] access to parameter b3 | -| 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: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) | | 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 | @@ -1431,9 +1396,9 @@ dominance | 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) | +| ExitMethods.cs:122:9:122:28 | call to method IsTrue | ExitMethods.cs:120:17:120:32 | exit FailingAssertion (abnormal) | | 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 | +| 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 | ...; | @@ -1441,17 +1406,16 @@ dominance | ExitMethods.cs:128:9:128:26 | this access | ExitMethods.cs:128:9:128:26 | call to method FailingAssertion | | ExitMethods.cs:128:9:128:27 | ...; | ExitMethods.cs:128:9:128:26 | this access | | ExitMethods.cs:132:10:132:20 | enter AssertFalse | ExitMethods.cs:132:48:132:48 | access to parameter b | -| ExitMethods.cs:132:33:132:49 | [assertion failure] call to method IsFalse | ExitMethods.cs:132:10:132:20 | exit AssertFalse (abnormal) | -| 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 | -| ExitMethods.cs:132:48:132:48 | access to parameter b | ExitMethods.cs:132:33:132:49 | [assertion success] call to method IsFalse | +| ExitMethods.cs:132:33:132:49 | call to method IsFalse | ExitMethods.cs:132:10:132:20 | exit AssertFalse (abnormal) | +| 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) | +| ExitMethods.cs:136:9:136:25 | call to method AssertFalse | ExitMethods.cs:134:17:134:33 | exit FailingAssertion3 (abnormal) | | 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 | +| 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 (...) ... | @@ -4174,7 +4138,6 @@ postDominance | Assert.cs:5:7:5:17 | exit AssertTests | Assert.cs:5:7:5:17 | exit AssertTests (normal) | | Assert.cs:5:7:5:17 | exit AssertTests (normal) | Assert.cs:5:7:5:17 | {...} | | Assert.cs:5:7:5:17 | {...} | Assert.cs:5:7:5:17 | call to constructor Object | -| Assert.cs:7:10:7:11 | exit M1 (abnormal) | Assert.cs:10:9:10:31 | [assertion failure] call to method Assert | | Assert.cs:7:10:7:11 | exit M1 (normal) | Assert.cs:11:9:11:35 | call to method WriteLine | | Assert.cs:8:5:12:5 | {...} | Assert.cs:7:10:7:11 | enter M1 | | Assert.cs:9:9:9:33 | ... ...; | Assert.cs:8:5:12:5 | {...} | @@ -4182,16 +4145,15 @@ postDominance | Assert.cs:9:20:9:20 | access to parameter b | Assert.cs:9:9:9:33 | ... ...; | | Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:9:24:9:27 | null | | Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:9:31:9:32 | "" | -| Assert.cs:10:9:10:31 | [assertion success] call to method Assert | Assert.cs:10:22:10:30 | ... != ... | +| Assert.cs:10:9:10:31 | call to method Assert | Assert.cs:10:22:10:30 | ... != ... | | Assert.cs:10:9:10:32 | ...; | Assert.cs:9:16:9:32 | String s = ... | | Assert.cs:10:22:10:22 | access to local variable s | Assert.cs:10:9:10:32 | ...; | | Assert.cs:10:22:10:30 | ... != ... | Assert.cs:10:27:10:30 | null | | Assert.cs:10:27:10:30 | null | Assert.cs:10:22:10:22 | access to local variable s | | Assert.cs:11:9:11:35 | call to method WriteLine | Assert.cs:11:27:11:34 | access to property Length | -| Assert.cs:11:9:11:36 | ...; | 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:11:27:11:27 | access to local variable s | Assert.cs:11:9:11:36 | ...; | | Assert.cs:11:27:11:34 | access to property Length | Assert.cs:11:27:11:27 | access to local variable s | -| Assert.cs:14:10:14:11 | exit M2 (abnormal) | Assert.cs:17:9:17:24 | [assertion failure] call to method IsNull | | Assert.cs:14:10:14:11 | exit M2 (normal) | Assert.cs:18:9:18:35 | call to method WriteLine | | Assert.cs:15:5:19:5 | {...} | Assert.cs:14:10:14:11 | enter M2 | | Assert.cs:16:9:16:33 | ... ...; | Assert.cs:15:5:19:5 | {...} | @@ -4199,14 +4161,13 @@ postDominance | Assert.cs:16:20:16:20 | access to parameter b | Assert.cs:16:9:16:33 | ... ...; | | Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:16:24:16:27 | null | | Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:16:31:16:32 | "" | -| Assert.cs:17:9:17:24 | [assertion success] call to method IsNull | Assert.cs:17:23:17:23 | 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 | | Assert.cs:17:9:17:25 | ...; | Assert.cs:16:16:16:32 | String s = ... | | Assert.cs:17:23:17:23 | access to local variable s | Assert.cs:17:9:17:25 | ...; | | Assert.cs:18:9:18:35 | call to method WriteLine | Assert.cs:18:27:18:34 | access to property Length | -| Assert.cs:18:9:18:36 | ...; | 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:18:27:18:27 | access to local variable s | Assert.cs:18:9:18:36 | ...; | | Assert.cs:18:27:18:34 | access to property Length | Assert.cs:18:27:18:27 | access to local variable s | -| Assert.cs:21:10:21:11 | exit M3 (abnormal) | Assert.cs:24:9:24:27 | [assertion failure] call to method IsNotNull | | Assert.cs:21:10:21:11 | exit M3 (normal) | Assert.cs:25:9:25:35 | call to method WriteLine | | Assert.cs:22:5:26:5 | {...} | Assert.cs:21:10:21:11 | enter M3 | | Assert.cs:23:9:23:33 | ... ...; | Assert.cs:22:5:26:5 | {...} | @@ -4214,14 +4175,13 @@ postDominance | Assert.cs:23:20:23:20 | access to parameter b | Assert.cs:23:9:23:33 | ... ...; | | Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:23:24:23:27 | null | | Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:23:31:23:32 | "" | -| Assert.cs:24:9:24:27 | [assertion success] call to method IsNotNull | Assert.cs:24:26:24:26 | 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 | | Assert.cs:24:9:24:28 | ...; | Assert.cs:23:16:23:32 | String s = ... | | Assert.cs:24:26:24:26 | access to local variable s | Assert.cs:24:9:24:28 | ...; | | Assert.cs:25:9:25:35 | call to method WriteLine | Assert.cs:25:27:25:34 | access to property Length | -| Assert.cs:25:9:25:36 | ...; | 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:25:27:25:27 | access to local variable s | Assert.cs:25:9:25:36 | ...; | | Assert.cs:25:27:25:34 | access to property Length | Assert.cs:25:27:25:27 | access to local variable s | -| Assert.cs:28:10:28:11 | exit M4 (abnormal) | Assert.cs:31:9:31:32 | [assertion failure] call to method IsTrue | | Assert.cs:28:10:28:11 | exit M4 (normal) | Assert.cs:32:9:32:35 | call to method WriteLine | | Assert.cs:29:5:33:5 | {...} | Assert.cs:28:10:28:11 | enter M4 | | Assert.cs:30:9:30:33 | ... ...; | Assert.cs:29:5:33:5 | {...} | @@ -4229,16 +4189,15 @@ postDominance | Assert.cs:30:20:30:20 | access to parameter b | Assert.cs:30:9:30:33 | ... ...; | | Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:30:24:30:27 | null | | Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:30:31:30:32 | "" | -| Assert.cs:31:9:31:32 | [assertion success] call to method IsTrue | Assert.cs:31:23:31:31 | ... == ... | +| Assert.cs:31:9:31:32 | call to method IsTrue | Assert.cs:31:23:31:31 | ... == ... | | Assert.cs:31:9:31:33 | ...; | Assert.cs:30:16:30:32 | String s = ... | | Assert.cs:31:23:31:23 | access to local variable s | Assert.cs:31:9:31:33 | ...; | | Assert.cs:31:23:31:31 | ... == ... | Assert.cs:31:28:31:31 | null | | Assert.cs:31:28:31:31 | null | Assert.cs:31:23:31:23 | access to local variable s | | Assert.cs:32:9:32:35 | call to method WriteLine | Assert.cs:32:27:32:34 | access to property Length | -| Assert.cs:32:9:32:36 | ...; | 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:32:27:32:27 | access to local variable s | Assert.cs:32:9:32:36 | ...; | | Assert.cs:32:27:32:34 | access to property Length | Assert.cs:32:27:32:27 | access to local variable s | -| Assert.cs:35:10:35:11 | exit M5 (abnormal) | Assert.cs:38:9:38:32 | [assertion failure] call to method IsTrue | | Assert.cs:35:10:35:11 | exit M5 (normal) | Assert.cs:39:9:39:35 | call to method WriteLine | | Assert.cs:36:5:40:5 | {...} | Assert.cs:35:10:35:11 | enter M5 | | Assert.cs:37:9:37:33 | ... ...; | Assert.cs:36:5:40:5 | {...} | @@ -4246,16 +4205,15 @@ postDominance | Assert.cs:37:20:37:20 | access to parameter b | Assert.cs:37:9:37:33 | ... ...; | | Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:37:24:37:27 | null | | Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:37:31:37:32 | "" | -| Assert.cs:38:9:38:32 | [assertion success] call to method IsTrue | Assert.cs:38:23:38:31 | ... != ... | +| Assert.cs:38:9:38:32 | call to method IsTrue | Assert.cs:38:23:38:31 | ... != ... | | Assert.cs:38:9:38:33 | ...; | Assert.cs:37:16:37:32 | String s = ... | | Assert.cs:38:23:38:23 | access to local variable s | Assert.cs:38:9:38:33 | ...; | | Assert.cs:38:23:38:31 | ... != ... | Assert.cs:38:28:38:31 | null | | Assert.cs:38:28:38:31 | null | Assert.cs:38:23:38:23 | access to local variable s | | Assert.cs:39:9:39:35 | call to method WriteLine | Assert.cs:39:27:39:34 | access to property Length | -| Assert.cs:39:9:39:36 | ...; | 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:39:27:39:27 | access to local variable s | Assert.cs:39:9:39:36 | ...; | | Assert.cs:39:27:39:34 | access to property Length | Assert.cs:39:27:39:27 | access to local variable s | -| Assert.cs:42:10:42:11 | exit M6 (abnormal) | Assert.cs:45:9:45:33 | [assertion failure] call to method IsFalse | | Assert.cs:42:10:42:11 | exit M6 (normal) | Assert.cs:46:9:46:35 | call to method WriteLine | | Assert.cs:43:5:47:5 | {...} | Assert.cs:42:10:42:11 | enter M6 | | Assert.cs:44:9:44:33 | ... ...; | Assert.cs:43:5:47:5 | {...} | @@ -4263,16 +4221,15 @@ postDominance | Assert.cs:44:20:44:20 | access to parameter b | Assert.cs:44:9:44:33 | ... ...; | | Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:44:24:44:27 | null | | Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:44:31:44:32 | "" | -| Assert.cs:45:9:45:33 | [assertion success] call to method IsFalse | Assert.cs:45:24:45:32 | ... != ... | +| Assert.cs:45:9:45:33 | call to method IsFalse | Assert.cs:45:24:45:32 | ... != ... | | Assert.cs:45:9:45:34 | ...; | Assert.cs:44:16:44:32 | String s = ... | | Assert.cs:45:24:45:24 | access to local variable s | Assert.cs:45:9:45:34 | ...; | | Assert.cs:45:24:45:32 | ... != ... | Assert.cs:45:29:45:32 | null | | Assert.cs:45:29:45:32 | null | Assert.cs:45:24:45:24 | access to local variable s | | Assert.cs:46:9:46:35 | call to method WriteLine | Assert.cs:46:27:46:34 | access to property Length | -| Assert.cs:46:9:46:36 | ...; | 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:46:27:46:27 | access to local variable s | Assert.cs:46:9:46:36 | ...; | | Assert.cs:46:27:46:34 | access to property Length | Assert.cs:46:27:46:27 | access to local variable s | -| Assert.cs:49:10:49:11 | exit M7 (abnormal) | Assert.cs:52:9:52:33 | [assertion failure] call to method IsFalse | | Assert.cs:49:10:49:11 | exit M7 (normal) | Assert.cs:53:9:53:35 | call to method WriteLine | | Assert.cs:50:5:54:5 | {...} | Assert.cs:49:10:49:11 | enter M7 | | Assert.cs:51:9:51:33 | ... ...; | Assert.cs:50:5:54:5 | {...} | @@ -4280,16 +4237,15 @@ postDominance | Assert.cs:51:20:51:20 | access to parameter b | Assert.cs:51:9:51:33 | ... ...; | | Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:51:24:51:27 | null | | Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:51:31:51:32 | "" | -| Assert.cs:52:9:52:33 | [assertion success] call to method IsFalse | Assert.cs:52:24:52:32 | ... == ... | +| Assert.cs:52:9:52:33 | call to method IsFalse | Assert.cs:52:24:52:32 | ... == ... | | Assert.cs:52:9:52:34 | ...; | Assert.cs:51:16:51:32 | String s = ... | | Assert.cs:52:24:52:24 | access to local variable s | Assert.cs:52:9:52:34 | ...; | | Assert.cs:52:24:52:32 | ... == ... | Assert.cs:52:29:52:32 | null | | Assert.cs:52:29:52:32 | null | Assert.cs:52:24:52:24 | access to local variable s | | Assert.cs:53:9:53:35 | call to method WriteLine | Assert.cs:53:27:53:34 | access to property Length | -| Assert.cs:53:9:53:36 | ...; | 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:53:27:53:27 | access to local variable s | Assert.cs:53:9:53:36 | ...; | | Assert.cs:53:27:53:34 | access to property Length | Assert.cs:53:27:53:27 | access to local variable s | -| Assert.cs:56:10:56:11 | exit M8 (abnormal) | Assert.cs:59:9:59:37 | [assertion failure] call to method IsTrue | | Assert.cs:56:10:56:11 | exit M8 (normal) | Assert.cs:60:9:60:35 | call to method WriteLine | | Assert.cs:57:5:61:5 | {...} | Assert.cs:56:10:56:11 | enter M8 | | Assert.cs:58:9:58:33 | ... ...; | Assert.cs:57:5:61:5 | {...} | @@ -4297,18 +4253,17 @@ postDominance | Assert.cs:58:20:58:20 | access to parameter b | Assert.cs:58:9:58:33 | ... ...; | | Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:58:24:58:27 | null | | Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:58:31:58:32 | "" | -| Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | Assert.cs:59:23:59:36 | [true] ... && ... | +| Assert.cs:59:9:59:37 | call to method IsTrue | Assert.cs:59:23:59:36 | ... && ... | | Assert.cs:59:9:59:38 | ...; | Assert.cs:58:16:58:32 | String s = ... | | Assert.cs:59:23:59:23 | access to local variable s | Assert.cs:59:9:59:38 | ...; | | Assert.cs:59:23:59:31 | ... != ... | Assert.cs:59:28:59:31 | null | -| Assert.cs:59:23:59:36 | [true] ... && ... | Assert.cs:59:36:59:36 | access to parameter b | +| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:59:23:59:31 | ... != ... | +| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:59:36:59:36 | access to parameter b | | Assert.cs:59:28:59:31 | null | Assert.cs:59:23:59:23 | access to local variable s | -| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:59:23:59:31 | ... != ... | | Assert.cs:60:9:60:35 | call to method WriteLine | Assert.cs:60:27:60:34 | access to property Length | -| Assert.cs:60:9:60:36 | ...; | 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:60:27:60:27 | access to local variable s | Assert.cs:60:9:60:36 | ...; | | Assert.cs:60:27:60:34 | access to property Length | Assert.cs:60:27:60:27 | access to local variable s | -| Assert.cs:63:10:63:11 | exit M9 (abnormal) | Assert.cs:66:9:66:38 | [assertion failure] call to method IsFalse | | Assert.cs:63:10:63:11 | exit M9 (normal) | Assert.cs:67:9:67:35 | call to method WriteLine | | Assert.cs:64:5:68:5 | {...} | Assert.cs:63:10:63:11 | enter M9 | | Assert.cs:65:9:65:33 | ... ...; | Assert.cs:64:5:68:5 | {...} | @@ -4316,18 +4271,17 @@ postDominance | Assert.cs:65:20:65:20 | access to parameter b | Assert.cs:65:9:65:33 | ... ...; | | Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:65:24:65:27 | null | | Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:65:31:65:32 | "" | -| Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | Assert.cs:66:24:66:37 | [false] ... \|\| ... | +| Assert.cs:66:9:66:38 | call to method IsFalse | Assert.cs:66:24:66:37 | ... \|\| ... | | Assert.cs:66:9:66:39 | ...; | Assert.cs:65:16:65:32 | String s = ... | | Assert.cs:66:24:66:24 | access to local variable s | Assert.cs:66:9:66:39 | ...; | | Assert.cs:66:24:66:32 | ... == ... | Assert.cs:66:29:66:32 | null | -| Assert.cs:66:24:66:37 | [false] ... \|\| ... | Assert.cs:66:37:66:37 | access to parameter b | +| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:66:24:66:32 | ... == ... | +| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:66:37:66:37 | access to parameter b | | Assert.cs:66:29:66:32 | null | Assert.cs:66:24:66:24 | access to local variable s | -| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:66:24:66:32 | ... == ... | | Assert.cs:67:9:67:35 | call to method WriteLine | Assert.cs:67:27:67:34 | access to property Length | -| Assert.cs:67:9:67:36 | ...; | 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:67:27:67:27 | access to local variable s | Assert.cs:67:9:67:36 | ...; | | Assert.cs:67:27:67:34 | access to property Length | Assert.cs:67:27:67:27 | access to local variable s | -| Assert.cs:70:10:70:12 | exit M10 (abnormal) | Assert.cs:73:9:73:37 | [assertion failure] call to method IsTrue | | Assert.cs:70:10:70:12 | exit M10 (normal) | Assert.cs:74:9:74:35 | call to method WriteLine | | Assert.cs:71:5:75:5 | {...} | Assert.cs:70:10:70:12 | enter M10 | | Assert.cs:72:9:72:33 | ... ...; | Assert.cs:71:5:75:5 | {...} | @@ -4335,18 +4289,17 @@ postDominance | Assert.cs:72:20:72:20 | access to parameter b | Assert.cs:72:9:72:33 | ... ...; | | Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:72:24:72:27 | null | | Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:72:31:72:32 | "" | -| Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | Assert.cs:73:23:73:36 | [true] ... && ... | +| Assert.cs:73:9:73:37 | call to method IsTrue | Assert.cs:73:23:73:36 | ... && ... | | Assert.cs:73:9:73:38 | ...; | Assert.cs:72:16:72:32 | String s = ... | | Assert.cs:73:23:73:23 | access to local variable s | Assert.cs:73:9:73:38 | ...; | | Assert.cs:73:23:73:31 | ... == ... | Assert.cs:73:28:73:31 | null | -| Assert.cs:73:23:73:36 | [true] ... && ... | Assert.cs:73:36:73:36 | access to parameter b | +| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:73:23:73:31 | ... == ... | +| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:73:36:73:36 | access to parameter b | | Assert.cs:73:28:73:31 | null | Assert.cs:73:23:73:23 | access to local variable s | -| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:73:23:73:31 | ... == ... | | Assert.cs:74:9:74:35 | call to method WriteLine | Assert.cs:74:27:74:34 | access to property Length | -| Assert.cs:74:9:74:36 | ...; | 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:74:27:74:27 | access to local variable s | Assert.cs:74:9:74:36 | ...; | | Assert.cs:74:27:74:34 | access to property Length | Assert.cs:74:27:74:27 | access to local variable s | -| Assert.cs:77:10:77:12 | exit M11 (abnormal) | Assert.cs:80:9:80:38 | [assertion failure] call to method IsFalse | | Assert.cs:77:10:77:12 | exit M11 (normal) | Assert.cs:81:9:81:35 | call to method WriteLine | | Assert.cs:78:5:82:5 | {...} | Assert.cs:77:10:77:12 | enter M11 | | Assert.cs:79:9:79:33 | ... ...; | Assert.cs:78:5:82:5 | {...} | @@ -4354,15 +4307,15 @@ postDominance | Assert.cs:79:20:79:20 | access to parameter b | Assert.cs:79:9:79:33 | ... ...; | | Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:79:24:79:27 | null | | Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:79:31:79:32 | "" | -| Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | Assert.cs:80:24:80:37 | [false] ... \|\| ... | +| Assert.cs:80:9:80:38 | call to method IsFalse | Assert.cs:80:24:80:37 | ... \|\| ... | | Assert.cs:80:9:80:39 | ...; | Assert.cs:79:16:79:32 | String s = ... | | Assert.cs:80:24:80:24 | access to local variable s | Assert.cs:80:9:80:39 | ...; | | Assert.cs:80:24:80:32 | ... != ... | Assert.cs:80:29:80:32 | null | -| Assert.cs:80:24:80:37 | [false] ... \|\| ... | Assert.cs:80:37:80:37 | access to parameter b | +| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:80:24:80:32 | ... != ... | +| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:80:37:80:37 | access to parameter b | | Assert.cs:80:29:80:32 | null | Assert.cs:80:24:80:24 | access to local variable s | -| Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:80:24:80:32 | ... != ... | | Assert.cs:81:9:81:35 | call to method WriteLine | Assert.cs:81:27:81:34 | access to property Length | -| Assert.cs:81:9:81:36 | ...; | 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:81:27:81:27 | access to local variable s | Assert.cs:81:9:81:36 | ...; | | Assert.cs:81:27:81:34 | access to property Length | Assert.cs:81:27:81:27 | access to local variable s | | Assert.cs:84:10:84:12 | exit M12 (normal) | Assert.cs:128:9:128:35 | call to method WriteLine | @@ -4372,13 +4325,13 @@ postDominance | Assert.cs:86:20:86:20 | access to parameter b | Assert.cs:86:9:86:33 | ... ...; | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:86:24:86:27 | null | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:86:31:86:32 | "" | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:87:22:87:30 | ... != ... | +| Assert.cs:87:9:87:31 | call to method Assert | Assert.cs:87:22:87:30 | ... != ... | | Assert.cs:87:9:87:32 | ...; | Assert.cs:86:16:86:32 | String s = ... | | Assert.cs:87:22:87:22 | access to local variable s | Assert.cs:87:9:87:32 | ...; | | Assert.cs:87:22:87:30 | ... != ... | Assert.cs:87:27:87:30 | null | | Assert.cs:87:27:87:30 | null | Assert.cs:87:22:87:22 | access to local variable s | | Assert.cs:88:9:88:35 | call to method WriteLine | Assert.cs:88:27:88:34 | access to property Length | -| Assert.cs:88:9:88:36 | ...; | 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:88:27:88:27 | access to local variable s | Assert.cs:88:9:88:36 | ...; | | Assert.cs:88:27:88:34 | access to property Length | Assert.cs:88:27:88:27 | access to local variable s | | Assert.cs:90:9:90:25 | ... = ... | Assert.cs:90:13:90:25 | ... ? ... : ... | @@ -4386,11 +4339,11 @@ postDominance | Assert.cs:90:13:90:13 | access to parameter b | Assert.cs:90:9:90:26 | ...; | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:90:17:90:20 | null | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:90:24:90:25 | "" | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:91:23:91:23 | access to local variable s | +| Assert.cs:91:9:91:24 | call to method IsNull | Assert.cs:91:23:91:23 | access to local variable s | | Assert.cs:91:9:91:25 | ...; | Assert.cs:90:9:90:25 | ... = ... | | Assert.cs:91:23:91:23 | access to local variable s | Assert.cs:91:9:91:25 | ...; | | Assert.cs:92:9:92:35 | call to method WriteLine | Assert.cs:92:27:92:34 | access to property Length | -| Assert.cs:92:9:92:36 | ...; | 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:92:27:92:27 | access to local variable s | Assert.cs:92:9:92:36 | ...; | | Assert.cs:92:27:92:34 | access to property Length | Assert.cs:92:27:92:27 | access to local variable s | | Assert.cs:94:9:94:25 | ... = ... | Assert.cs:94:13:94:25 | ... ? ... : ... | @@ -4398,11 +4351,11 @@ postDominance | Assert.cs:94:13:94:13 | access to parameter b | Assert.cs:94:9:94:26 | ...; | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:94:17:94:20 | null | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:94:24:94:25 | "" | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:95:26:95:26 | access to local variable s | +| Assert.cs:95:9:95:27 | call to method IsNotNull | Assert.cs:95:26:95:26 | access to local variable s | | Assert.cs:95:9:95:28 | ...; | Assert.cs:94:9:94:25 | ... = ... | | Assert.cs:95:26:95:26 | access to local variable s | Assert.cs:95:9:95:28 | ...; | | Assert.cs:96:9:96:35 | call to method WriteLine | Assert.cs:96:27:96:34 | access to property Length | -| Assert.cs:96:9:96:36 | ...; | 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:96:27:96:27 | access to local variable s | Assert.cs:96:9:96:36 | ...; | | Assert.cs:96:27:96:34 | access to property Length | Assert.cs:96:27:96:27 | access to local variable s | | Assert.cs:98:9:98:25 | ... = ... | Assert.cs:98:13:98:25 | ... ? ... : ... | @@ -4410,13 +4363,13 @@ postDominance | Assert.cs:98:13:98:13 | access to parameter b | Assert.cs:98:9:98:26 | ...; | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:98:17:98:20 | null | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:98:24:98:25 | "" | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:99:23:99:31 | ... == ... | +| Assert.cs:99:9:99:32 | call to method IsTrue | Assert.cs:99:23:99:31 | ... == ... | | Assert.cs:99:9:99:33 | ...; | Assert.cs:98:9:98:25 | ... = ... | | Assert.cs:99:23:99:23 | access to local variable s | Assert.cs:99:9:99:33 | ...; | | Assert.cs:99:23:99:31 | ... == ... | Assert.cs:99:28:99:31 | null | | Assert.cs:99:28:99:31 | null | Assert.cs:99:23:99:23 | access to local variable s | | Assert.cs:100:9:100:35 | call to method WriteLine | Assert.cs:100:27:100:34 | access to property Length | -| Assert.cs:100:9:100:36 | ...; | 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:100:27:100:27 | access to local variable s | Assert.cs:100:9:100:36 | ...; | | Assert.cs:100:27:100:34 | access to property Length | Assert.cs:100:27:100:27 | access to local variable s | | Assert.cs:102:9:102:25 | ... = ... | Assert.cs:102:13:102:25 | ... ? ... : ... | @@ -4424,13 +4377,13 @@ postDominance | Assert.cs:102:13:102:13 | access to parameter b | Assert.cs:102:9:102:26 | ...; | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:102:17:102:20 | null | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:102:24:102:25 | "" | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:103:23:103:31 | ... != ... | +| Assert.cs:103:9:103:32 | call to method IsTrue | Assert.cs:103:23:103:31 | ... != ... | | Assert.cs:103:9:103:33 | ...; | Assert.cs:102:9:102:25 | ... = ... | | Assert.cs:103:23:103:23 | access to local variable s | Assert.cs:103:9:103:33 | ...; | | Assert.cs:103:23:103:31 | ... != ... | Assert.cs:103:28:103:31 | null | | Assert.cs:103:28:103:31 | null | Assert.cs:103:23:103:23 | access to local variable s | | Assert.cs:104:9:104:35 | call to method WriteLine | Assert.cs:104:27:104:34 | access to property Length | -| Assert.cs:104:9:104:36 | ...; | 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:104:27:104:27 | access to local variable s | Assert.cs:104:9:104:36 | ...; | | Assert.cs:104:27:104:34 | access to property Length | Assert.cs:104:27:104:27 | access to local variable s | | Assert.cs:106:9:106:25 | ... = ... | Assert.cs:106:13:106:25 | ... ? ... : ... | @@ -4438,13 +4391,13 @@ postDominance | Assert.cs:106:13:106:13 | access to parameter b | Assert.cs:106:9:106:26 | ...; | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:106:17:106:20 | null | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:106:24:106:25 | "" | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:107:24:107:32 | ... != ... | +| Assert.cs:107:9:107:33 | call to method IsFalse | Assert.cs:107:24:107:32 | ... != ... | | Assert.cs:107:9:107:34 | ...; | Assert.cs:106:9:106:25 | ... = ... | | Assert.cs:107:24:107:24 | access to local variable s | Assert.cs:107:9:107:34 | ...; | | Assert.cs:107:24:107:32 | ... != ... | Assert.cs:107:29:107:32 | null | | Assert.cs:107:29:107:32 | null | Assert.cs:107:24:107:24 | access to local variable s | | Assert.cs:108:9:108:35 | call to method WriteLine | Assert.cs:108:27:108:34 | access to property Length | -| Assert.cs:108:9:108:36 | ...; | 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:108:27:108:27 | access to local variable s | Assert.cs:108:9:108:36 | ...; | | Assert.cs:108:27:108:34 | access to property Length | Assert.cs:108:27:108:27 | access to local variable s | | Assert.cs:110:9:110:25 | ... = ... | Assert.cs:110:13:110:25 | ... ? ... : ... | @@ -4452,13 +4405,13 @@ postDominance | Assert.cs:110:13:110:13 | access to parameter b | Assert.cs:110:9:110:26 | ...; | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:110:17:110:20 | null | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:110:24:110:25 | "" | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:111:24:111:32 | ... == ... | +| Assert.cs:111:9:111:33 | call to method IsFalse | Assert.cs:111:24:111:32 | ... == ... | | Assert.cs:111:9:111:34 | ...; | Assert.cs:110:9:110:25 | ... = ... | | Assert.cs:111:24:111:24 | access to local variable s | Assert.cs:111:9:111:34 | ...; | | Assert.cs:111:24:111:32 | ... == ... | Assert.cs:111:29:111:32 | null | | Assert.cs:111:29:111:32 | null | Assert.cs:111:24:111:24 | access to local variable s | | Assert.cs:112:9:112:35 | call to method WriteLine | Assert.cs:112:27:112:34 | access to property Length | -| Assert.cs:112:9:112:36 | ...; | 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:112:27:112:27 | access to local variable s | Assert.cs:112:9:112:36 | ...; | | Assert.cs:112:27:112:34 | access to property Length | Assert.cs:112:27:112:27 | access to local variable s | | Assert.cs:114:9:114:25 | ... = ... | Assert.cs:114:13:114:25 | ... ? ... : ... | @@ -4466,15 +4419,15 @@ postDominance | Assert.cs:114:13:114:13 | access to parameter b | Assert.cs:114:9:114:26 | ...; | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:114:17:114:20 | null | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:114:24:114:25 | "" | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:115:23:115:36 | [true] ... && ... | +| Assert.cs:115:9:115:37 | call to method IsTrue | Assert.cs:115:23:115:36 | ... && ... | | Assert.cs:115:9:115:38 | ...; | Assert.cs:114:9:114:25 | ... = ... | | Assert.cs:115:23:115:23 | access to local variable s | Assert.cs:115:9:115:38 | ...; | | Assert.cs:115:23:115:31 | ... != ... | Assert.cs:115:28:115:31 | null | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:115:23:115:31 | ... != ... | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:115:36:115:36 | access to parameter b | | Assert.cs:115:28:115:31 | null | Assert.cs:115:23:115:23 | access to local variable s | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:115:23:115:31 | ... != ... | | Assert.cs:116:9:116:35 | call to method WriteLine | Assert.cs:116:27:116:34 | access to property Length | -| Assert.cs:116:9:116:36 | ...; | 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:116:27:116:27 | access to local variable s | Assert.cs:116:9:116:36 | ...; | | Assert.cs:116:27:116:34 | access to property Length | Assert.cs:116:27:116:27 | access to local variable s | | Assert.cs:118:9:118:25 | ... = ... | Assert.cs:118:13:118:25 | ... ? ... : ... | @@ -4482,16 +4435,16 @@ postDominance | Assert.cs:118:13:118:13 | access to parameter b | Assert.cs:118:9:118:26 | ...; | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:118:17:118:20 | null | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:118:24:118:25 | "" | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:119:24:119:38 | [false] ... \|\| ... | +| Assert.cs:119:9:119:39 | call to method IsFalse | Assert.cs:119:24:119:38 | ... \|\| ... | | Assert.cs:119:9:119:40 | ...; | Assert.cs:118:9:118:25 | ... = ... | | Assert.cs:119:24:119:24 | access to local variable s | Assert.cs:119:9:119:40 | ...; | | Assert.cs:119:24:119:32 | ... == ... | Assert.cs:119:29:119:32 | null | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:119:37:119:38 | [false] !... | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:119:24:119:32 | ... == ... | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:119:37:119:38 | !... | | Assert.cs:119:29:119:32 | null | Assert.cs:119:24:119:24 | access to local variable s | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:119:38:119:38 | access to parameter b | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:24:119:32 | ... == ... | +| Assert.cs:119:37:119:38 | !... | Assert.cs:119:38:119:38 | access to parameter b | | Assert.cs:120:9:120:35 | call to method WriteLine | Assert.cs:120:27:120:34 | access to property Length | -| Assert.cs:120:9:120:36 | ...; | 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:120:27:120:27 | access to local variable s | Assert.cs:120:9:120:36 | ...; | | Assert.cs:120:27:120:34 | access to property Length | Assert.cs:120:27:120:27 | access to local variable s | | Assert.cs:122:9:122:25 | ... = ... | Assert.cs:122:13:122:25 | ... ? ... : ... | @@ -4499,15 +4452,15 @@ postDominance | Assert.cs:122:13:122:13 | access to parameter b | Assert.cs:122:9:122:26 | ...; | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:122:17:122:20 | null | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:122:24:122:25 | "" | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:123:23:123:36 | [true] ... && ... | +| Assert.cs:123:9:123:37 | call to method IsTrue | Assert.cs:123:23:123:36 | ... && ... | | Assert.cs:123:9:123:38 | ...; | Assert.cs:122:9:122:25 | ... = ... | | Assert.cs:123:23:123:23 | access to local variable s | Assert.cs:123:9:123:38 | ...; | | Assert.cs:123:23:123:31 | ... == ... | Assert.cs:123:28:123:31 | null | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:123:23:123:31 | ... == ... | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:123:36:123:36 | access to parameter b | | Assert.cs:123:28:123:31 | null | Assert.cs:123:23:123:23 | access to local variable s | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:123:23:123:31 | ... == ... | | Assert.cs:124:9:124:35 | call to method WriteLine | Assert.cs:124:27:124:34 | access to property Length | -| Assert.cs:124:9:124:36 | ...; | 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:124:27:124:27 | access to local variable s | Assert.cs:124:9:124:36 | ...; | | Assert.cs:124:27:124:34 | access to property Length | Assert.cs:124:27:124:27 | access to local variable s | | Assert.cs:126:9:126:25 | ... = ... | Assert.cs:126:13:126:25 | ... ? ... : ... | @@ -4515,16 +4468,16 @@ postDominance | Assert.cs:126:13:126:13 | access to parameter b | Assert.cs:126:9:126:26 | ...; | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:126:17:126:20 | null | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:126:24:126:25 | "" | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:127:24:127:38 | [false] ... \|\| ... | +| Assert.cs:127:9:127:39 | call to method IsFalse | Assert.cs:127:24:127:38 | ... \|\| ... | | Assert.cs:127:9:127:40 | ...; | Assert.cs:126:9:126:25 | ... = ... | | Assert.cs:127:24:127:24 | access to local variable s | Assert.cs:127:9:127:40 | ...; | | Assert.cs:127:24:127:32 | ... != ... | Assert.cs:127:29:127:32 | null | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:127:37:127:38 | [false] !... | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:127:24:127:32 | ... != ... | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:127:37:127:38 | !... | | Assert.cs:127:29:127:32 | null | Assert.cs:127:24:127:24 | access to local variable s | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:127:38:127:38 | access to parameter b | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:24:127:32 | ... != ... | +| Assert.cs:127:37:127:38 | !... | Assert.cs:127:38:127:38 | access to parameter b | | Assert.cs:128:9:128:35 | call to method WriteLine | Assert.cs:128:27:128:34 | access to property Length | -| Assert.cs:128:9:128:36 | ...; | 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:128:27:128:27 | access to local variable s | Assert.cs:128:9:128:36 | ...; | | Assert.cs:128:27:128:34 | access to property Length | Assert.cs:128:27:128:27 | access to local variable s | | Assert.cs:131:18:131:32 | exit AssertTrueFalse | Assert.cs:131:18:131:32 | exit AssertTrueFalse (normal) | @@ -4532,15 +4485,13 @@ postDominance | Assert.cs:135:5:136:5 | {...} | Assert.cs:131:18:131:32 | enter AssertTrueFalse | | Assert.cs:138:10:138:12 | exit M13 (normal) | Assert.cs:141:9:141:15 | return ...; | | Assert.cs:139:5:142:5 | {...} | Assert.cs:138:10:138:12 | enter M13 | -| 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 failure] access to parameter b3 | -| Assert.cs:140:9:140:35 | [assertion success] call to method AssertTrueFalse | Assert.cs:140:33:140:34 | [assertion success] access to parameter b3 | +| Assert.cs:140:9:140:35 | call to method AssertTrueFalse | Assert.cs:140:33:140:34 | access to parameter b3 | | Assert.cs:140:9:140:35 | this access | Assert.cs:140:9:140:36 | ...; | | Assert.cs:140:9:140:36 | ...; | Assert.cs:139:5:142:5 | {...} | | Assert.cs:140:25:140:26 | access to parameter b1 | Assert.cs:140:9:140:35 | this access | | Assert.cs:140:29:140:30 | access to parameter b2 | Assert.cs:140:25:140:26 | access to parameter b1 | -| Assert.cs:140:33:140:34 | [assertion success] access to parameter b3 | Assert.cs:140:29:140:30 | access to parameter b2 | -| Assert.cs:141:9:141:15 | return ...; | Assert.cs:140:9:140:35 | [assertion success] call to method AssertTrueFalse | +| Assert.cs:140:33:140:34 | access to parameter b3 | Assert.cs:140:29:140:30 | access to parameter b2 | +| Assert.cs:141:9:141:15 | return ...; | Assert.cs:140:9:140:35 | call to method AssertTrueFalse | | Assignments.cs:1:7:1:17 | call to constructor Object | Assignments.cs:1:7:1:17 | enter Assignments | | Assignments.cs:1:7:1:17 | exit Assignments | Assignments.cs:1:7:1:17 | exit Assignments (normal) | | Assignments.cs:1:7:1:17 | exit Assignments (normal) | Assignments.cs:1:7:1:17 | {...} | @@ -5214,8 +5165,9 @@ postDominance | ExitMethods.cs:117:16:117:38 | ... ? ... : ... | ExitMethods.cs:117:38:117:38 | 1 | | ExitMethods.cs:117:27:117:29 | - | ExitMethods.cs:117:16:117:16 | access to parameter s | | ExitMethods.cs:120:17:120:32 | exit FailingAssertion | ExitMethods.cs:120:17:120:32 | exit FailingAssertion (abnormal) | -| ExitMethods.cs:120:17:120:32 | exit FailingAssertion (abnormal) | ExitMethods.cs:122:9:122:28 | [assertion failure] call to method IsTrue | +| ExitMethods.cs:120:17:120:32 | exit FailingAssertion (abnormal) | ExitMethods.cs:122:9:122:28 | call to method IsTrue | | ExitMethods.cs:121:5:124:5 | {...} | ExitMethods.cs:120:17:120:32 | enter FailingAssertion | +| ExitMethods.cs:122:9:122:28 | call to method IsTrue | ExitMethods.cs:122:23:122:27 | false | | ExitMethods.cs:122:9:122:29 | ...; | ExitMethods.cs:121:5:124:5 | {...} | | ExitMethods.cs:122:23:122:27 | false | ExitMethods.cs:122:9:122:29 | ...; | | ExitMethods.cs:126:17:126:33 | exit FailingAssertion2 | ExitMethods.cs:126:17:126:33 | exit FailingAssertion2 (abnormal) | @@ -5224,13 +5176,13 @@ postDominance | ExitMethods.cs:128:9:128:26 | call to method FailingAssertion | ExitMethods.cs:128:9:128:26 | this access | | ExitMethods.cs:128:9:128:26 | this access | ExitMethods.cs:128:9:128:27 | ...; | | ExitMethods.cs:128:9:128:27 | ...; | ExitMethods.cs:127:5:130:5 | {...} | -| ExitMethods.cs:132:10:132:20 | exit AssertFalse (abnormal) | ExitMethods.cs:132:33:132:49 | [assertion failure] call to method IsFalse | -| ExitMethods.cs:132:10:132:20 | exit AssertFalse (normal) | ExitMethods.cs:132:33:132:49 | [assertion success] call to method IsFalse | -| ExitMethods.cs:132:33:132:49 | [assertion success] call to method IsFalse | ExitMethods.cs:132:48:132:48 | access to parameter b | +| ExitMethods.cs:132:10:132:20 | exit AssertFalse (normal) | ExitMethods.cs:132:33:132:49 | call to method IsFalse | +| ExitMethods.cs:132:33:132:49 | call to method IsFalse | ExitMethods.cs:132:48:132:48 | access to parameter b | | ExitMethods.cs:132:48:132:48 | access to parameter b | ExitMethods.cs:132:10:132:20 | enter AssertFalse | | ExitMethods.cs:134:17:134:33 | exit FailingAssertion3 | ExitMethods.cs:134:17:134:33 | exit FailingAssertion3 (abnormal) | -| ExitMethods.cs:134:17:134:33 | exit FailingAssertion3 (abnormal) | ExitMethods.cs:136:9:136:25 | [assertion failure] call to method AssertFalse | +| ExitMethods.cs:134:17:134:33 | exit FailingAssertion3 (abnormal) | ExitMethods.cs:136:9:136:25 | call to method AssertFalse | | ExitMethods.cs:135:5:138:5 | {...} | ExitMethods.cs:134:17:134:33 | enter FailingAssertion3 | +| ExitMethods.cs:136:9:136:25 | call to method AssertFalse | ExitMethods.cs:136:21:136:24 | true | | ExitMethods.cs:136:9:136:25 | this access | ExitMethods.cs:136:9:136:26 | ...; | | ExitMethods.cs:136:9:136:26 | ...; | ExitMethods.cs:135:5:138:5 | {...} | | ExitMethods.cs:136:21:136:24 | true | ExitMethods.cs:136:9:136:25 | this access | @@ -7549,1418 +7501,970 @@ blockDominance | Assert.cs:5:7:5:17 | enter AssertTests | Assert.cs:5:7:5:17 | enter AssertTests | | Assert.cs:7:10:7:11 | enter M1 | Assert.cs:7:10:7:11 | enter M1 | | Assert.cs:7:10:7:11 | enter M1 | Assert.cs:7:10:7:11 | exit M1 | +| Assert.cs:7:10:7:11 | enter M1 | Assert.cs:7:10:7:11 | exit M1 (abnormal) | | Assert.cs:7:10:7:11 | enter M1 | Assert.cs:9:20:9:32 | ... ? ... : ... | | Assert.cs:7:10:7:11 | enter M1 | Assert.cs:9:24:9:27 | null | | Assert.cs:7:10:7:11 | enter M1 | Assert.cs:9:31:9:32 | "" | -| Assert.cs:7:10:7:11 | enter M1 | Assert.cs:10:9:10:31 | [assertion failure] call to method Assert | -| Assert.cs:7:10:7:11 | enter M1 | Assert.cs:10:9:10:31 | [assertion success] call to method Assert | +| Assert.cs:7:10:7:11 | enter M1 | Assert.cs:11:9:11:36 | ...; | | Assert.cs:7:10:7:11 | exit M1 | Assert.cs:7:10:7:11 | exit M1 | +| Assert.cs:7:10:7:11 | exit M1 (abnormal) | Assert.cs:7:10:7:11 | exit M1 (abnormal) | | Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:7:10:7:11 | exit M1 | +| Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:7:10:7:11 | exit M1 (abnormal) | | Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:9:20:9:32 | ... ? ... : ... | -| Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:10:9:10:31 | [assertion failure] call to method Assert | -| Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:10:9:10:31 | [assertion success] call to method Assert | +| Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:11:9:11:36 | ...; | | Assert.cs:9:24:9:27 | null | Assert.cs:9:24:9:27 | null | | Assert.cs:9:31:9:32 | "" | Assert.cs:9:31:9:32 | "" | -| Assert.cs:10:9:10:31 | [assertion failure] call to method Assert | Assert.cs:10:9:10:31 | [assertion failure] call to method Assert | -| Assert.cs:10:9:10:31 | [assertion success] call to method Assert | Assert.cs:10:9:10:31 | [assertion success] call to method Assert | +| Assert.cs:11:9:11:36 | ...; | Assert.cs:11:9:11:36 | ...; | | Assert.cs:14:10:14:11 | enter M2 | Assert.cs:14:10:14:11 | enter M2 | | Assert.cs:14:10:14:11 | enter M2 | Assert.cs:14:10:14:11 | exit M2 | +| Assert.cs:14:10:14:11 | enter M2 | Assert.cs:14:10:14:11 | exit M2 (abnormal) | | Assert.cs:14:10:14:11 | enter M2 | Assert.cs:16:20:16:32 | ... ? ... : ... | | Assert.cs:14:10:14:11 | enter M2 | Assert.cs:16:24:16:27 | null | | Assert.cs:14:10:14:11 | enter M2 | Assert.cs:16:31:16:32 | "" | -| Assert.cs:14:10:14:11 | enter M2 | Assert.cs:17:9:17:24 | [assertion failure] call to method IsNull | -| Assert.cs:14:10:14:11 | enter M2 | Assert.cs:17:9:17:24 | [assertion success] call to method IsNull | +| Assert.cs:14:10:14:11 | enter M2 | Assert.cs:18:9:18:36 | ...; | | Assert.cs:14:10:14:11 | exit M2 | Assert.cs:14:10:14:11 | exit M2 | +| Assert.cs:14:10:14:11 | exit M2 (abnormal) | Assert.cs:14:10:14:11 | exit M2 (abnormal) | | Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:14:10:14:11 | exit M2 | +| Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:14:10:14:11 | exit M2 (abnormal) | | Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:16:20:16:32 | ... ? ... : ... | -| Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:17:9:17:24 | [assertion failure] call to method IsNull | -| Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:17:9:17:24 | [assertion success] call to method IsNull | +| Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:18:9:18:36 | ...; | | Assert.cs:16:24:16:27 | null | Assert.cs:16:24:16:27 | null | | Assert.cs:16:31:16:32 | "" | Assert.cs:16:31:16:32 | "" | -| Assert.cs:17:9:17:24 | [assertion failure] call to method IsNull | Assert.cs:17:9:17:24 | [assertion failure] call to method IsNull | -| Assert.cs:17:9:17:24 | [assertion success] call to method IsNull | Assert.cs:17:9:17:24 | [assertion success] call to method IsNull | +| Assert.cs:18:9:18:36 | ...; | Assert.cs:18:9:18:36 | ...; | | Assert.cs:21:10:21:11 | enter M3 | Assert.cs:21:10:21:11 | enter M3 | | Assert.cs:21:10:21:11 | enter M3 | Assert.cs:21:10:21:11 | exit M3 | +| Assert.cs:21:10:21:11 | enter M3 | Assert.cs:21:10:21:11 | exit M3 (abnormal) | | Assert.cs:21:10:21:11 | enter M3 | Assert.cs:23:20:23:32 | ... ? ... : ... | | Assert.cs:21:10:21:11 | enter M3 | Assert.cs:23:24:23:27 | null | | Assert.cs:21:10:21:11 | enter M3 | Assert.cs:23:31:23:32 | "" | -| Assert.cs:21:10:21:11 | enter M3 | Assert.cs:24:9:24:27 | [assertion failure] call to method IsNotNull | -| Assert.cs:21:10:21:11 | enter M3 | Assert.cs:24:9:24:27 | [assertion success] call to method IsNotNull | +| Assert.cs:21:10:21:11 | enter M3 | Assert.cs:25:9:25:36 | ...; | | Assert.cs:21:10:21:11 | exit M3 | Assert.cs:21:10:21:11 | exit M3 | +| Assert.cs:21:10:21:11 | exit M3 (abnormal) | Assert.cs:21:10:21:11 | exit M3 (abnormal) | | Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:21:10:21:11 | exit M3 | +| Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:21:10:21:11 | exit M3 (abnormal) | | Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:23:20:23:32 | ... ? ... : ... | -| Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:24:9:24:27 | [assertion failure] call to method IsNotNull | -| Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:24:9:24:27 | [assertion success] call to method IsNotNull | +| Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:25:9:25:36 | ...; | | Assert.cs:23:24:23:27 | null | Assert.cs:23:24:23:27 | null | | Assert.cs:23:31:23:32 | "" | Assert.cs:23:31:23:32 | "" | -| Assert.cs:24:9:24:27 | [assertion failure] call to method IsNotNull | Assert.cs:24:9:24:27 | [assertion failure] call to method IsNotNull | -| Assert.cs:24:9:24:27 | [assertion success] call to method IsNotNull | Assert.cs:24:9:24:27 | [assertion success] call to method IsNotNull | +| Assert.cs:25:9:25:36 | ...; | Assert.cs:25:9:25:36 | ...; | | Assert.cs:28:10:28:11 | enter M4 | Assert.cs:28:10:28:11 | enter M4 | | Assert.cs:28:10:28:11 | enter M4 | Assert.cs:28:10:28:11 | exit M4 | +| Assert.cs:28:10:28:11 | enter M4 | Assert.cs:28:10:28:11 | exit M4 (abnormal) | | Assert.cs:28:10:28:11 | enter M4 | Assert.cs:30:20:30:32 | ... ? ... : ... | | Assert.cs:28:10:28:11 | enter M4 | Assert.cs:30:24:30:27 | null | | Assert.cs:28:10:28:11 | enter M4 | Assert.cs:30:31:30:32 | "" | -| Assert.cs:28:10:28:11 | enter M4 | Assert.cs:31:9:31:32 | [assertion failure] call to method IsTrue | -| Assert.cs:28:10:28:11 | enter M4 | Assert.cs:31:9:31:32 | [assertion success] call to method IsTrue | +| Assert.cs:28:10:28:11 | enter M4 | Assert.cs:32:9:32:36 | ...; | | Assert.cs:28:10:28:11 | exit M4 | Assert.cs:28:10:28:11 | exit M4 | +| Assert.cs:28:10:28:11 | exit M4 (abnormal) | Assert.cs:28:10:28:11 | exit M4 (abnormal) | | Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:28:10:28:11 | exit M4 | +| Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:28:10:28:11 | exit M4 (abnormal) | | Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:30:20:30:32 | ... ? ... : ... | -| Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:31:9:31:32 | [assertion failure] call to method IsTrue | -| Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:31:9:31:32 | [assertion success] call to method IsTrue | +| Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:32:9:32:36 | ...; | | Assert.cs:30:24:30:27 | null | Assert.cs:30:24:30:27 | null | | Assert.cs:30:31:30:32 | "" | Assert.cs:30:31:30:32 | "" | -| Assert.cs:31:9:31:32 | [assertion failure] call to method IsTrue | Assert.cs:31:9:31:32 | [assertion failure] call to method IsTrue | -| Assert.cs:31:9:31:32 | [assertion success] call to method IsTrue | Assert.cs:31:9:31:32 | [assertion success] call to method IsTrue | +| Assert.cs:32:9:32:36 | ...; | Assert.cs:32:9:32:36 | ...; | | Assert.cs:35:10:35:11 | enter M5 | Assert.cs:35:10:35:11 | enter M5 | | Assert.cs:35:10:35:11 | enter M5 | Assert.cs:35:10:35:11 | exit M5 | +| Assert.cs:35:10:35:11 | enter M5 | Assert.cs:35:10:35:11 | exit M5 (abnormal) | | Assert.cs:35:10:35:11 | enter M5 | Assert.cs:37:20:37:32 | ... ? ... : ... | | Assert.cs:35:10:35:11 | enter M5 | Assert.cs:37:24:37:27 | null | | Assert.cs:35:10:35:11 | enter M5 | Assert.cs:37:31:37:32 | "" | -| Assert.cs:35:10:35:11 | enter M5 | Assert.cs:38:9:38:32 | [assertion failure] call to method IsTrue | -| Assert.cs:35:10:35:11 | enter M5 | Assert.cs:38:9:38:32 | [assertion success] call to method IsTrue | +| Assert.cs:35:10:35:11 | enter M5 | Assert.cs:39:9:39:36 | ...; | | Assert.cs:35:10:35:11 | exit M5 | Assert.cs:35:10:35:11 | exit M5 | +| Assert.cs:35:10:35:11 | exit M5 (abnormal) | Assert.cs:35:10:35:11 | exit M5 (abnormal) | | Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:35:10:35:11 | exit M5 | +| Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:35:10:35:11 | exit M5 (abnormal) | | Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:37:20:37:32 | ... ? ... : ... | -| Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:38:9:38:32 | [assertion failure] call to method IsTrue | -| Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:38:9:38:32 | [assertion success] call to method IsTrue | +| Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:39:9:39:36 | ...; | | Assert.cs:37:24:37:27 | null | Assert.cs:37:24:37:27 | null | | Assert.cs:37:31:37:32 | "" | Assert.cs:37:31:37:32 | "" | -| Assert.cs:38:9:38:32 | [assertion failure] call to method IsTrue | Assert.cs:38:9:38:32 | [assertion failure] call to method IsTrue | -| Assert.cs:38:9:38:32 | [assertion success] call to method IsTrue | Assert.cs:38:9:38:32 | [assertion success] call to method IsTrue | +| Assert.cs:39:9:39:36 | ...; | Assert.cs:39:9:39:36 | ...; | | Assert.cs:42:10:42:11 | enter M6 | Assert.cs:42:10:42:11 | enter M6 | | Assert.cs:42:10:42:11 | enter M6 | Assert.cs:42:10:42:11 | exit M6 | +| Assert.cs:42:10:42:11 | enter M6 | Assert.cs:42:10:42:11 | exit M6 (abnormal) | | Assert.cs:42:10:42:11 | enter M6 | Assert.cs:44:20:44:32 | ... ? ... : ... | | Assert.cs:42:10:42:11 | enter M6 | Assert.cs:44:24:44:27 | null | | Assert.cs:42:10:42:11 | enter M6 | Assert.cs:44:31:44:32 | "" | -| Assert.cs:42:10:42:11 | enter M6 | Assert.cs:45:9:45:33 | [assertion failure] call to method IsFalse | -| Assert.cs:42:10:42:11 | enter M6 | Assert.cs:45:9:45:33 | [assertion success] call to method IsFalse | +| Assert.cs:42:10:42:11 | enter M6 | Assert.cs:46:9:46:36 | ...; | | Assert.cs:42:10:42:11 | exit M6 | Assert.cs:42:10:42:11 | exit M6 | +| Assert.cs:42:10:42:11 | exit M6 (abnormal) | Assert.cs:42:10:42:11 | exit M6 (abnormal) | | Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:42:10:42:11 | exit M6 | +| Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:42:10:42:11 | exit M6 (abnormal) | | Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:44:20:44:32 | ... ? ... : ... | -| Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:45:9:45:33 | [assertion failure] call to method IsFalse | -| Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:45:9:45:33 | [assertion success] call to method IsFalse | +| Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:46:9:46:36 | ...; | | Assert.cs:44:24:44:27 | null | Assert.cs:44:24:44:27 | null | | Assert.cs:44:31:44:32 | "" | Assert.cs:44:31:44:32 | "" | -| Assert.cs:45:9:45:33 | [assertion failure] call to method IsFalse | Assert.cs:45:9:45:33 | [assertion failure] call to method IsFalse | -| Assert.cs:45:9:45:33 | [assertion success] call to method IsFalse | Assert.cs:45:9:45:33 | [assertion success] call to method IsFalse | +| Assert.cs:46:9:46:36 | ...; | Assert.cs:46:9:46:36 | ...; | | Assert.cs:49:10:49:11 | enter M7 | Assert.cs:49:10:49:11 | enter M7 | | Assert.cs:49:10:49:11 | enter M7 | Assert.cs:49:10:49:11 | exit M7 | +| Assert.cs:49:10:49:11 | enter M7 | Assert.cs:49:10:49:11 | exit M7 (abnormal) | | Assert.cs:49:10:49:11 | enter M7 | Assert.cs:51:20:51:32 | ... ? ... : ... | | Assert.cs:49:10:49:11 | enter M7 | Assert.cs:51:24:51:27 | null | | Assert.cs:49:10:49:11 | enter M7 | Assert.cs:51:31:51:32 | "" | -| Assert.cs:49:10:49:11 | enter M7 | Assert.cs:52:9:52:33 | [assertion failure] call to method IsFalse | -| Assert.cs:49:10:49:11 | enter M7 | Assert.cs:52:9:52:33 | [assertion success] call to method IsFalse | +| Assert.cs:49:10:49:11 | enter M7 | Assert.cs:53:9:53:36 | ...; | | Assert.cs:49:10:49:11 | exit M7 | Assert.cs:49:10:49:11 | exit M7 | +| Assert.cs:49:10:49:11 | exit M7 (abnormal) | Assert.cs:49:10:49:11 | exit M7 (abnormal) | | Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:49:10:49:11 | exit M7 | +| Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:49:10:49:11 | exit M7 (abnormal) | | Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:51:20:51:32 | ... ? ... : ... | -| Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:52:9:52:33 | [assertion failure] call to method IsFalse | -| Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:52:9:52:33 | [assertion success] call to method IsFalse | +| Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:53:9:53:36 | ...; | | Assert.cs:51:24:51:27 | null | Assert.cs:51:24:51:27 | null | | Assert.cs:51:31:51:32 | "" | Assert.cs:51:31:51:32 | "" | -| Assert.cs:52:9:52:33 | [assertion failure] call to method IsFalse | Assert.cs:52:9:52:33 | [assertion failure] call to method IsFalse | -| Assert.cs:52:9:52:33 | [assertion success] call to method IsFalse | Assert.cs:52:9:52:33 | [assertion success] call to method IsFalse | +| Assert.cs:53:9:53:36 | ...; | Assert.cs:53:9:53:36 | ...; | | Assert.cs:56:10:56:11 | enter M8 | Assert.cs:56:10:56:11 | enter M8 | | Assert.cs:56:10:56:11 | enter M8 | Assert.cs:56:10:56:11 | exit M8 | +| Assert.cs:56:10:56:11 | enter M8 | Assert.cs:56:10:56:11 | exit M8 (abnormal) | | Assert.cs:56:10:56:11 | enter M8 | Assert.cs:58:20:58:32 | ... ? ... : ... | | Assert.cs:56:10:56:11 | enter M8 | Assert.cs:58:24:58:27 | null | | Assert.cs:56:10:56:11 | enter M8 | Assert.cs:58:31:58:32 | "" | -| Assert.cs:56:10:56:11 | enter M8 | Assert.cs:59:9:59:37 | [assertion failure] call to method IsTrue | -| Assert.cs:56:10:56:11 | enter M8 | Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | -| Assert.cs:56:10:56:11 | enter M8 | Assert.cs:59:23:59:36 | [false] ... && ... | -| Assert.cs:56:10:56:11 | enter M8 | Assert.cs:59:23:59:36 | [true] ... && ... | +| Assert.cs:56:10:56:11 | enter M8 | Assert.cs:59:23:59:36 | ... && ... | | Assert.cs:56:10:56:11 | enter M8 | Assert.cs:59:36:59:36 | access to parameter b | +| Assert.cs:56:10:56:11 | enter M8 | Assert.cs:60:9:60:36 | ...; | | Assert.cs:56:10:56:11 | exit M8 | Assert.cs:56:10:56:11 | exit M8 | +| Assert.cs:56:10:56:11 | exit M8 (abnormal) | Assert.cs:56:10:56:11 | exit M8 (abnormal) | | Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:56:10:56:11 | exit M8 | +| Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:56:10:56:11 | exit M8 (abnormal) | | Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:58:20:58:32 | ... ? ... : ... | -| Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:59:9:59:37 | [assertion failure] call to method IsTrue | -| Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | -| Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:59:23:59:36 | [false] ... && ... | -| Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:59:23:59:36 | [true] ... && ... | +| Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:59:23:59:36 | ... && ... | | Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:59:36:59:36 | access to parameter b | +| Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:60:9:60:36 | ...; | | Assert.cs:58:24:58:27 | null | Assert.cs:58:24:58:27 | null | | Assert.cs:58:31:58:32 | "" | Assert.cs:58:31:58:32 | "" | -| Assert.cs:59:9:59:37 | [assertion failure] call to method IsTrue | Assert.cs:59:9:59:37 | [assertion failure] call to method IsTrue | -| Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | -| Assert.cs:59:23:59:36 | [false] ... && ... | Assert.cs:59:9:59:37 | [assertion failure] call to method IsTrue | -| Assert.cs:59:23:59:36 | [false] ... && ... | Assert.cs:59:23:59:36 | [false] ... && ... | -| Assert.cs:59:23:59:36 | [true] ... && ... | Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | -| Assert.cs:59:23:59:36 | [true] ... && ... | Assert.cs:59:23:59:36 | [true] ... && ... | -| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | -| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:59:23:59:36 | [true] ... && ... | +| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:56:10:56:11 | exit M8 | +| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:56:10:56:11 | exit M8 (abnormal) | +| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:59:23:59:36 | ... && ... | +| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:60:9:60:36 | ...; | | Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:59:36:59:36 | access to parameter b | +| Assert.cs:60:9:60:36 | ...; | Assert.cs:60:9:60:36 | ...; | | Assert.cs:63:10:63:11 | enter M9 | Assert.cs:63:10:63:11 | enter M9 | | Assert.cs:63:10:63:11 | enter M9 | Assert.cs:63:10:63:11 | exit M9 | +| Assert.cs:63:10:63:11 | enter M9 | Assert.cs:63:10:63:11 | exit M9 (abnormal) | | Assert.cs:63:10:63:11 | enter M9 | Assert.cs:65:20:65:32 | ... ? ... : ... | | Assert.cs:63:10:63:11 | enter M9 | Assert.cs:65:24:65:27 | null | | Assert.cs:63:10:63:11 | enter M9 | Assert.cs:65:31:65:32 | "" | -| Assert.cs:63:10:63:11 | enter M9 | Assert.cs:66:9:66:38 | [assertion failure] call to method IsFalse | -| Assert.cs:63:10:63:11 | enter M9 | Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | -| Assert.cs:63:10:63:11 | enter M9 | Assert.cs:66:24:66:37 | [false] ... \|\| ... | -| Assert.cs:63:10:63:11 | enter M9 | Assert.cs:66:24:66:37 | [true] ... \|\| ... | +| Assert.cs:63:10:63:11 | enter M9 | Assert.cs:66:24:66:37 | ... \|\| ... | | Assert.cs:63:10:63:11 | enter M9 | Assert.cs:66:37:66:37 | access to parameter b | +| Assert.cs:63:10:63:11 | enter M9 | Assert.cs:67:9:67:36 | ...; | | Assert.cs:63:10:63:11 | exit M9 | Assert.cs:63:10:63:11 | exit M9 | +| Assert.cs:63:10:63:11 | exit M9 (abnormal) | Assert.cs:63:10:63:11 | exit M9 (abnormal) | | Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:63:10:63:11 | exit M9 | +| Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:63:10:63:11 | exit M9 (abnormal) | | Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:65:20:65:32 | ... ? ... : ... | -| Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:66:9:66:38 | [assertion failure] call to method IsFalse | -| Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | -| Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:66:24:66:37 | [false] ... \|\| ... | -| Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:66:24:66:37 | [true] ... \|\| ... | +| Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:66:24:66:37 | ... \|\| ... | | Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:66:37:66:37 | access to parameter b | +| Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:67:9:67:36 | ...; | | Assert.cs:65:24:65:27 | null | Assert.cs:65:24:65:27 | null | | Assert.cs:65:31:65:32 | "" | Assert.cs:65:31:65:32 | "" | -| Assert.cs:66:9:66:38 | [assertion failure] call to method IsFalse | Assert.cs:66:9:66:38 | [assertion failure] call to method IsFalse | -| Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | -| Assert.cs:66:24:66:37 | [false] ... \|\| ... | Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | -| Assert.cs:66:24:66:37 | [false] ... \|\| ... | Assert.cs:66:24:66:37 | [false] ... \|\| ... | -| Assert.cs:66:24:66:37 | [true] ... \|\| ... | Assert.cs:66:9:66:38 | [assertion failure] call to method IsFalse | -| Assert.cs:66:24:66:37 | [true] ... \|\| ... | Assert.cs:66:24:66:37 | [true] ... \|\| ... | -| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | -| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:66:24:66:37 | [false] ... \|\| ... | +| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:63:10:63:11 | exit M9 | +| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:63:10:63:11 | exit M9 (abnormal) | +| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:66:24:66:37 | ... \|\| ... | +| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:67:9:67:36 | ...; | | Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:66:37:66:37 | access to parameter b | +| Assert.cs:67:9:67:36 | ...; | Assert.cs:67:9:67:36 | ...; | | Assert.cs:70:10:70:12 | enter M10 | Assert.cs:70:10:70:12 | enter M10 | | Assert.cs:70:10:70:12 | enter M10 | Assert.cs:70:10:70:12 | exit M10 | +| Assert.cs:70:10:70:12 | enter M10 | Assert.cs:70:10:70:12 | exit M10 (abnormal) | | Assert.cs:70:10:70:12 | enter M10 | Assert.cs:72:20:72:32 | ... ? ... : ... | | Assert.cs:70:10:70:12 | enter M10 | Assert.cs:72:24:72:27 | null | | Assert.cs:70:10:70:12 | enter M10 | Assert.cs:72:31:72:32 | "" | -| Assert.cs:70:10:70:12 | enter M10 | Assert.cs:73:9:73:37 | [assertion failure] call to method IsTrue | -| Assert.cs:70:10:70:12 | enter M10 | Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | -| Assert.cs:70:10:70:12 | enter M10 | Assert.cs:73:23:73:36 | [false] ... && ... | -| Assert.cs:70:10:70:12 | enter M10 | Assert.cs:73:23:73:36 | [true] ... && ... | +| Assert.cs:70:10:70:12 | enter M10 | Assert.cs:73:23:73:36 | ... && ... | | Assert.cs:70:10:70:12 | enter M10 | Assert.cs:73:36:73:36 | access to parameter b | +| Assert.cs:70:10:70:12 | enter M10 | Assert.cs:74:9:74:36 | ...; | | Assert.cs:70:10:70:12 | exit M10 | Assert.cs:70:10:70:12 | exit M10 | +| Assert.cs:70:10:70:12 | exit M10 (abnormal) | Assert.cs:70:10:70:12 | exit M10 (abnormal) | | Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:70:10:70:12 | exit M10 | +| Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:70:10:70:12 | exit M10 (abnormal) | | Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:72:20:72:32 | ... ? ... : ... | -| Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:73:9:73:37 | [assertion failure] call to method IsTrue | -| Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | -| Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:73:23:73:36 | [false] ... && ... | -| Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:73:23:73:36 | [true] ... && ... | +| Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:73:23:73:36 | ... && ... | | Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:73:36:73:36 | access to parameter b | +| Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:74:9:74:36 | ...; | | Assert.cs:72:24:72:27 | null | Assert.cs:72:24:72:27 | null | | Assert.cs:72:31:72:32 | "" | Assert.cs:72:31:72:32 | "" | -| Assert.cs:73:9:73:37 | [assertion failure] call to method IsTrue | Assert.cs:73:9:73:37 | [assertion failure] call to method IsTrue | -| Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | -| Assert.cs:73:23:73:36 | [false] ... && ... | Assert.cs:73:9:73:37 | [assertion failure] call to method IsTrue | -| Assert.cs:73:23:73:36 | [false] ... && ... | Assert.cs:73:23:73:36 | [false] ... && ... | -| Assert.cs:73:23:73:36 | [true] ... && ... | Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | -| Assert.cs:73:23:73:36 | [true] ... && ... | Assert.cs:73:23:73:36 | [true] ... && ... | -| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | -| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:73:23:73:36 | [true] ... && ... | +| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:70:10:70:12 | exit M10 | +| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:70:10:70:12 | exit M10 (abnormal) | +| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:73:23:73:36 | ... && ... | +| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:74:9:74:36 | ...; | | Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:73:36:73:36 | access to parameter b | +| Assert.cs:74:9:74:36 | ...; | Assert.cs:74:9:74:36 | ...; | | Assert.cs:77:10:77:12 | enter M11 | Assert.cs:77:10:77:12 | enter M11 | | Assert.cs:77:10:77:12 | enter M11 | Assert.cs:77:10:77:12 | exit M11 | +| Assert.cs:77:10:77:12 | enter M11 | Assert.cs:77:10:77:12 | exit M11 (abnormal) | | Assert.cs:77:10:77:12 | enter M11 | Assert.cs:79:20:79:32 | ... ? ... : ... | | Assert.cs:77:10:77:12 | enter M11 | Assert.cs:79:24:79:27 | null | | Assert.cs:77:10:77:12 | enter M11 | Assert.cs:79:31:79:32 | "" | -| Assert.cs:77:10:77:12 | enter M11 | Assert.cs:80:9:80:38 | [assertion failure] call to method IsFalse | -| Assert.cs:77:10:77:12 | enter M11 | Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | -| Assert.cs:77:10:77:12 | enter M11 | Assert.cs:80:24:80:37 | [false] ... \|\| ... | -| Assert.cs:77:10:77:12 | enter M11 | Assert.cs:80:24:80:37 | [true] ... \|\| ... | +| Assert.cs:77:10:77:12 | enter M11 | Assert.cs:80:24:80:37 | ... \|\| ... | | Assert.cs:77:10:77:12 | enter M11 | Assert.cs:80:37:80:37 | access to parameter b | +| Assert.cs:77:10:77:12 | enter M11 | Assert.cs:81:9:81:36 | ...; | | Assert.cs:77:10:77:12 | exit M11 | Assert.cs:77:10:77:12 | exit M11 | +| Assert.cs:77:10:77:12 | exit M11 (abnormal) | Assert.cs:77:10:77:12 | exit M11 (abnormal) | | Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:77:10:77:12 | exit M11 | +| Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:77:10:77:12 | exit M11 (abnormal) | | Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:79:20:79:32 | ... ? ... : ... | -| Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:80:9:80:38 | [assertion failure] call to method IsFalse | -| Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | -| Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:80:24:80:37 | [false] ... \|\| ... | -| Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:80:24:80:37 | [true] ... \|\| ... | +| Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:80:24:80:37 | ... \|\| ... | | Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:80:37:80:37 | access to parameter b | +| Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:81:9:81:36 | ...; | | Assert.cs:79:24:79:27 | null | Assert.cs:79:24:79:27 | null | | Assert.cs:79:31:79:32 | "" | Assert.cs:79:31:79:32 | "" | -| Assert.cs:80:9:80:38 | [assertion failure] call to method IsFalse | Assert.cs:80:9:80:38 | [assertion failure] call to method IsFalse | -| Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | -| Assert.cs:80:24:80:37 | [false] ... \|\| ... | Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | -| Assert.cs:80:24:80:37 | [false] ... \|\| ... | Assert.cs:80:24:80:37 | [false] ... \|\| ... | -| Assert.cs:80:24:80:37 | [true] ... \|\| ... | Assert.cs:80:9:80:38 | [assertion failure] call to method IsFalse | -| Assert.cs:80:24:80:37 | [true] ... \|\| ... | Assert.cs:80:24:80:37 | [true] ... \|\| ... | -| Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | -| Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:80:24:80:37 | [false] ... \|\| ... | +| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:77:10:77:12 | exit M11 | +| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:77:10:77:12 | exit M11 (abnormal) | +| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:80:24:80:37 | ... \|\| ... | +| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:81:9:81:36 | ...; | | Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:80:37:80:37 | access to parameter b | +| Assert.cs:81:9:81:36 | ...; | Assert.cs:81:9:81:36 | ...; | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:84:10:84:12 | enter M12 | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:84:10:84:12 | exit M12 | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:84:10:84:12 | exit M12 (abnormal) | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:86:20:86:32 | ... ? ... : ... | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:86:24:86:27 | null | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:86:31:86:32 | "" | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:87:9:87:31 | [assertion failure] call to method Assert | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | +| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:88:9:88:36 | ...; | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:90:13:90:25 | ... ? ... : ... | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:90:17:90:20 | null | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:90:24:90:25 | "" | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:91:9:91:24 | [assertion failure] call to method IsNull | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | +| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:92:9:92:36 | ...; | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:94:13:94:25 | ... ? ... : ... | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:94:17:94:20 | null | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:94:24:94:25 | "" | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:95:9:95:27 | [assertion failure] call to method IsNotNull | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | +| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:96:9:96:36 | ...; | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:98:13:98:25 | ... ? ... : ... | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:98:17:98:20 | null | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:98:24:98:25 | "" | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:99:9:99:32 | [assertion failure] call to method IsTrue | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | +| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:100:9:100:36 | ...; | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:102:13:102:25 | ... ? ... : ... | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:102:17:102:20 | null | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:102:24:102:25 | "" | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | +| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:104:9:104:36 | ...; | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:106:13:106:25 | ... ? ... : ... | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:106:17:106:20 | null | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:106:24:106:25 | "" | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | +| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:108:9:108:36 | ...; | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:110:13:110:25 | ... ? ... : ... | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:110:17:110:20 | null | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:110:24:110:25 | "" | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | +| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:112:9:112:36 | ...; | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:114:13:114:25 | ... ? ... : ... | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:114:17:114:20 | null | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:114:24:114:25 | "" | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:115:23:115:36 | [false] ... && ... | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:115:23:115:36 | [true] ... && ... | +| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:115:23:115:36 | ... && ... | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:116:9:116:36 | ...; | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:118:13:118:25 | ... ? ... : ... | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:118:17:118:20 | null | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:118:24:118:25 | "" | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:119:24:119:38 | [true] ... \|\| ... | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:119:37:119:38 | [true] !... | +| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:119:24:119:38 | ... \|\| ... | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:120:9:120:36 | ...; | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:122:13:122:25 | ... ? ... : ... | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:122:17:122:20 | null | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:122:24:122:25 | "" | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:123:23:123:36 | [true] ... && ... | +| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:123:23:123:36 | ... && ... | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:124:9:124:36 | ...; | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:126:13:126:25 | ... ? ... : ... | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:126:17:126:20 | null | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:126:24:126:25 | "" | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:127:37:127:38 | [true] !... | +| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:127:24:127:38 | ... \|\| ... | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:128:9:128:36 | ...; | | Assert.cs:84:10:84:12 | exit M12 | Assert.cs:84:10:84:12 | exit M12 | | Assert.cs:84:10:84:12 | exit M12 (abnormal) | Assert.cs:84:10:84:12 | exit M12 (abnormal) | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:84:10:84:12 | exit M12 | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:84:10:84:12 | exit M12 (abnormal) | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:86:20:86:32 | ... ? ... : ... | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:87:9:87:31 | [assertion failure] call to method Assert | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | +| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:88:9:88:36 | ...; | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:90:13:90:25 | ... ? ... : ... | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:90:17:90:20 | null | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:90:24:90:25 | "" | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:91:9:91:24 | [assertion failure] call to method IsNull | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | +| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:92:9:92:36 | ...; | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:94:13:94:25 | ... ? ... : ... | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:94:17:94:20 | null | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:94:24:94:25 | "" | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:95:9:95:27 | [assertion failure] call to method IsNotNull | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | +| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:96:9:96:36 | ...; | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:98:13:98:25 | ... ? ... : ... | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:98:17:98:20 | null | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:98:24:98:25 | "" | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:99:9:99:32 | [assertion failure] call to method IsTrue | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | +| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:100:9:100:36 | ...; | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:102:13:102:25 | ... ? ... : ... | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:102:17:102:20 | null | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:102:24:102:25 | "" | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | +| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:104:9:104:36 | ...; | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:106:13:106:25 | ... ? ... : ... | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:106:17:106:20 | null | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:106:24:106:25 | "" | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | +| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:108:9:108:36 | ...; | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:110:13:110:25 | ... ? ... : ... | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:110:17:110:20 | null | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:110:24:110:25 | "" | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | +| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:112:9:112:36 | ...; | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:114:13:114:25 | ... ? ... : ... | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:114:17:114:20 | null | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:114:24:114:25 | "" | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:115:23:115:36 | [false] ... && ... | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:115:23:115:36 | [true] ... && ... | +| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:115:23:115:36 | ... && ... | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:116:9:116:36 | ...; | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:118:13:118:25 | ... ? ... : ... | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:118:17:118:20 | null | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:118:24:118:25 | "" | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:119:37:119:38 | [true] !... | +| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:119:24:119:38 | ... \|\| ... | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:120:9:120:36 | ...; | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:122:13:122:25 | ... ? ... : ... | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:122:17:122:20 | null | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:122:24:122:25 | "" | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:123:23:123:36 | [true] ... && ... | +| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:123:23:123:36 | ... && ... | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:124:9:124:36 | ...; | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:126:13:126:25 | ... ? ... : ... | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:126:17:126:20 | null | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:126:24:126:25 | "" | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:127:37:127:38 | [true] !... | +| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:127:24:127:38 | ... \|\| ... | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:128:9:128:36 | ...; | | Assert.cs:86:24:86:27 | null | Assert.cs:86:24:86:27 | null | | Assert.cs:86:31:86:32 | "" | Assert.cs:86:31:86:32 | "" | -| Assert.cs:87:9:87:31 | [assertion failure] call to method Assert | Assert.cs:87:9:87:31 | [assertion failure] call to method Assert | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:90:13:90:25 | ... ? ... : ... | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:90:17:90:20 | null | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:90:24:90:25 | "" | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:91:9:91:24 | [assertion failure] call to method IsNull | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:94:13:94:25 | ... ? ... : ... | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:94:17:94:20 | null | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:94:24:94:25 | "" | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:95:9:95:27 | [assertion failure] call to method IsNotNull | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:98:13:98:25 | ... ? ... : ... | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:98:17:98:20 | null | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:98:24:98:25 | "" | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:99:9:99:32 | [assertion failure] call to method IsTrue | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:102:13:102:25 | ... ? ... : ... | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:102:17:102:20 | null | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:102:24:102:25 | "" | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:106:13:106:25 | ... ? ... : ... | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:106:17:106:20 | null | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:106:24:106:25 | "" | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:110:13:110:25 | ... ? ... : ... | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:110:17:110:20 | null | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:110:24:110:25 | "" | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:114:13:114:25 | ... ? ... : ... | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:114:17:114:20 | null | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:114:24:114:25 | "" | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:115:23:115:36 | [false] ... && ... | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:115:23:115:36 | [true] ... && ... | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:115:36:115:36 | access to parameter b | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:118:13:118:25 | ... ? ... : ... | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:118:17:118:20 | null | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:118:24:118:25 | "" | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:119:24:119:38 | [true] ... \|\| ... | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:119:37:119:38 | [true] !... | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:119:38:119:38 | access to parameter b | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:122:13:122:25 | ... ? ... : ... | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:122:17:122:20 | null | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:122:24:122:25 | "" | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:123:23:123:36 | [true] ... && ... | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:123:36:123:36 | access to parameter b | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:126:13:126:25 | ... ? ... : ... | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:126:17:126:20 | null | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:126:24:126:25 | "" | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:127:37:127:38 | [true] !... | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:88:9:88:36 | ...; | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:90:13:90:25 | ... ? ... : ... | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:90:17:90:20 | null | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:90:24:90:25 | "" | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:92:9:92:36 | ...; | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:94:13:94:25 | ... ? ... : ... | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:94:17:94:20 | null | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:94:24:94:25 | "" | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:96:9:96:36 | ...; | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:98:13:98:25 | ... ? ... : ... | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:98:17:98:20 | null | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:98:24:98:25 | "" | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:100:9:100:36 | ...; | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:102:13:102:25 | ... ? ... : ... | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:102:17:102:20 | null | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:102:24:102:25 | "" | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:104:9:104:36 | ...; | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:106:13:106:25 | ... ? ... : ... | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:106:17:106:20 | null | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:106:24:106:25 | "" | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:108:9:108:36 | ...; | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:110:13:110:25 | ... ? ... : ... | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:110:17:110:20 | null | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:110:24:110:25 | "" | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:112:9:112:36 | ...; | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:114:13:114:25 | ... ? ... : ... | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:114:17:114:20 | null | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:114:24:114:25 | "" | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:115:23:115:36 | ... && ... | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:116:9:116:36 | ...; | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:118:13:118:25 | ... ? ... : ... | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:118:17:118:20 | null | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:118:24:118:25 | "" | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:119:24:119:38 | ... \|\| ... | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:120:9:120:36 | ...; | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:122:13:122:25 | ... ? ... : ... | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:122:17:122:20 | null | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:122:24:122:25 | "" | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:123:23:123:36 | ... && ... | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:124:9:124:36 | ...; | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:126:13:126:25 | ... ? ... : ... | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:126:17:126:20 | null | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:126:24:126:25 | "" | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:127:24:127:38 | ... \|\| ... | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:128:9:128:36 | ...; | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:90:13:90:25 | ... ? ... : ... | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:91:9:91:24 | [assertion failure] call to method IsNull | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | +| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:92:9:92:36 | ...; | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:94:13:94:25 | ... ? ... : ... | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:94:17:94:20 | null | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:94:24:94:25 | "" | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:95:9:95:27 | [assertion failure] call to method IsNotNull | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | +| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:96:9:96:36 | ...; | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:98:13:98:25 | ... ? ... : ... | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:98:17:98:20 | null | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:98:24:98:25 | "" | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:99:9:99:32 | [assertion failure] call to method IsTrue | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | +| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:100:9:100:36 | ...; | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:102:13:102:25 | ... ? ... : ... | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:102:17:102:20 | null | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:102:24:102:25 | "" | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | +| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:104:9:104:36 | ...; | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:106:13:106:25 | ... ? ... : ... | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:106:17:106:20 | null | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:106:24:106:25 | "" | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | +| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:108:9:108:36 | ...; | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:110:13:110:25 | ... ? ... : ... | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:110:17:110:20 | null | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:110:24:110:25 | "" | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | +| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:112:9:112:36 | ...; | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:114:13:114:25 | ... ? ... : ... | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:114:17:114:20 | null | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:114:24:114:25 | "" | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [false] ... && ... | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [true] ... && ... | +| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | ... && ... | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:116:9:116:36 | ...; | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:118:13:118:25 | ... ? ... : ... | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:118:17:118:20 | null | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:118:24:118:25 | "" | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [true] !... | +| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | ... \|\| ... | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:120:9:120:36 | ...; | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:122:13:122:25 | ... ? ... : ... | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:122:17:122:20 | null | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:122:24:122:25 | "" | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [true] ... && ... | +| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | ... && ... | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:124:9:124:36 | ...; | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:126:13:126:25 | ... ? ... : ... | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:126:17:126:20 | null | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:126:24:126:25 | "" | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [true] !... | +| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | ... \|\| ... | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:128:9:128:36 | ...; | | Assert.cs:90:17:90:20 | null | Assert.cs:90:17:90:20 | null | | Assert.cs:90:24:90:25 | "" | Assert.cs:90:24:90:25 | "" | -| Assert.cs:91:9:91:24 | [assertion failure] call to method IsNull | Assert.cs:91:9:91:24 | [assertion failure] call to method IsNull | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:94:13:94:25 | ... ? ... : ... | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:94:17:94:20 | null | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:94:24:94:25 | "" | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:95:9:95:27 | [assertion failure] call to method IsNotNull | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:98:13:98:25 | ... ? ... : ... | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:98:17:98:20 | null | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:98:24:98:25 | "" | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:99:9:99:32 | [assertion failure] call to method IsTrue | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:102:13:102:25 | ... ? ... : ... | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:102:17:102:20 | null | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:102:24:102:25 | "" | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:106:13:106:25 | ... ? ... : ... | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:106:17:106:20 | null | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:106:24:106:25 | "" | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:110:13:110:25 | ... ? ... : ... | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:110:17:110:20 | null | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:110:24:110:25 | "" | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:114:13:114:25 | ... ? ... : ... | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:114:17:114:20 | null | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:114:24:114:25 | "" | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:115:23:115:36 | [false] ... && ... | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:115:23:115:36 | [true] ... && ... | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:115:36:115:36 | access to parameter b | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:118:13:118:25 | ... ? ... : ... | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:118:17:118:20 | null | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:118:24:118:25 | "" | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:119:24:119:38 | [true] ... \|\| ... | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:119:37:119:38 | [true] !... | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:119:38:119:38 | access to parameter b | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:122:13:122:25 | ... ? ... : ... | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:122:17:122:20 | null | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:122:24:122:25 | "" | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:123:23:123:36 | [true] ... && ... | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:123:36:123:36 | access to parameter b | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:126:13:126:25 | ... ? ... : ... | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:126:17:126:20 | null | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:126:24:126:25 | "" | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:127:37:127:38 | [true] !... | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:92:9:92:36 | ...; | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:94:13:94:25 | ... ? ... : ... | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:94:17:94:20 | null | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:94:24:94:25 | "" | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:96:9:96:36 | ...; | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:98:13:98:25 | ... ? ... : ... | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:98:17:98:20 | null | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:98:24:98:25 | "" | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:100:9:100:36 | ...; | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:102:13:102:25 | ... ? ... : ... | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:102:17:102:20 | null | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:102:24:102:25 | "" | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:104:9:104:36 | ...; | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:106:13:106:25 | ... ? ... : ... | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:106:17:106:20 | null | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:106:24:106:25 | "" | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:108:9:108:36 | ...; | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:110:13:110:25 | ... ? ... : ... | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:110:17:110:20 | null | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:110:24:110:25 | "" | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:112:9:112:36 | ...; | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:114:13:114:25 | ... ? ... : ... | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:114:17:114:20 | null | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:114:24:114:25 | "" | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:115:23:115:36 | ... && ... | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:116:9:116:36 | ...; | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:118:13:118:25 | ... ? ... : ... | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:118:17:118:20 | null | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:118:24:118:25 | "" | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:119:24:119:38 | ... \|\| ... | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:120:9:120:36 | ...; | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:122:13:122:25 | ... ? ... : ... | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:122:17:122:20 | null | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:122:24:122:25 | "" | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:123:23:123:36 | ... && ... | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:124:9:124:36 | ...; | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:126:13:126:25 | ... ? ... : ... | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:126:17:126:20 | null | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:126:24:126:25 | "" | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:127:24:127:38 | ... \|\| ... | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:128:9:128:36 | ...; | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:94:13:94:25 | ... ? ... : ... | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:95:9:95:27 | [assertion failure] call to method IsNotNull | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | +| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:96:9:96:36 | ...; | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:98:13:98:25 | ... ? ... : ... | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:98:17:98:20 | null | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:98:24:98:25 | "" | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:99:9:99:32 | [assertion failure] call to method IsTrue | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | +| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:100:9:100:36 | ...; | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:102:13:102:25 | ... ? ... : ... | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:102:17:102:20 | null | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:102:24:102:25 | "" | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | +| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:104:9:104:36 | ...; | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:106:13:106:25 | ... ? ... : ... | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:106:17:106:20 | null | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:106:24:106:25 | "" | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | +| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:108:9:108:36 | ...; | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:110:13:110:25 | ... ? ... : ... | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:110:17:110:20 | null | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:110:24:110:25 | "" | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | +| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:112:9:112:36 | ...; | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:114:13:114:25 | ... ? ... : ... | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:114:17:114:20 | null | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:114:24:114:25 | "" | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [false] ... && ... | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [true] ... && ... | +| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | ... && ... | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:116:9:116:36 | ...; | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:118:13:118:25 | ... ? ... : ... | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:118:17:118:20 | null | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:118:24:118:25 | "" | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [true] !... | +| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | ... \|\| ... | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:120:9:120:36 | ...; | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:122:13:122:25 | ... ? ... : ... | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:122:17:122:20 | null | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:122:24:122:25 | "" | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [true] ... && ... | +| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | ... && ... | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:124:9:124:36 | ...; | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:126:13:126:25 | ... ? ... : ... | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:126:17:126:20 | null | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:126:24:126:25 | "" | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [true] !... | +| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | ... \|\| ... | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:128:9:128:36 | ...; | | Assert.cs:94:17:94:20 | null | Assert.cs:94:17:94:20 | null | | Assert.cs:94:24:94:25 | "" | Assert.cs:94:24:94:25 | "" | -| Assert.cs:95:9:95:27 | [assertion failure] call to method IsNotNull | Assert.cs:95:9:95:27 | [assertion failure] call to method IsNotNull | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:98:13:98:25 | ... ? ... : ... | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:98:17:98:20 | null | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:98:24:98:25 | "" | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:99:9:99:32 | [assertion failure] call to method IsTrue | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:102:13:102:25 | ... ? ... : ... | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:102:17:102:20 | null | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:102:24:102:25 | "" | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:106:13:106:25 | ... ? ... : ... | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:106:17:106:20 | null | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:106:24:106:25 | "" | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:110:13:110:25 | ... ? ... : ... | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:110:17:110:20 | null | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:110:24:110:25 | "" | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:114:13:114:25 | ... ? ... : ... | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:114:17:114:20 | null | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:114:24:114:25 | "" | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:115:23:115:36 | [false] ... && ... | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:115:23:115:36 | [true] ... && ... | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:115:36:115:36 | access to parameter b | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:118:13:118:25 | ... ? ... : ... | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:118:17:118:20 | null | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:118:24:118:25 | "" | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:119:24:119:38 | [true] ... \|\| ... | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:119:37:119:38 | [true] !... | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:119:38:119:38 | access to parameter b | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:122:13:122:25 | ... ? ... : ... | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:122:17:122:20 | null | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:122:24:122:25 | "" | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:123:23:123:36 | [true] ... && ... | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:123:36:123:36 | access to parameter b | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:126:13:126:25 | ... ? ... : ... | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:126:17:126:20 | null | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:126:24:126:25 | "" | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:127:37:127:38 | [true] !... | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:96:9:96:36 | ...; | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:98:13:98:25 | ... ? ... : ... | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:98:17:98:20 | null | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:98:24:98:25 | "" | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:100:9:100:36 | ...; | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:102:13:102:25 | ... ? ... : ... | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:102:17:102:20 | null | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:102:24:102:25 | "" | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:104:9:104:36 | ...; | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:106:13:106:25 | ... ? ... : ... | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:106:17:106:20 | null | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:106:24:106:25 | "" | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:108:9:108:36 | ...; | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:110:13:110:25 | ... ? ... : ... | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:110:17:110:20 | null | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:110:24:110:25 | "" | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:112:9:112:36 | ...; | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:114:13:114:25 | ... ? ... : ... | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:114:17:114:20 | null | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:114:24:114:25 | "" | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:115:23:115:36 | ... && ... | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:116:9:116:36 | ...; | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:118:13:118:25 | ... ? ... : ... | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:118:17:118:20 | null | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:118:24:118:25 | "" | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:119:24:119:38 | ... \|\| ... | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:120:9:120:36 | ...; | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:122:13:122:25 | ... ? ... : ... | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:122:17:122:20 | null | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:122:24:122:25 | "" | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:123:23:123:36 | ... && ... | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:124:9:124:36 | ...; | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:126:13:126:25 | ... ? ... : ... | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:126:17:126:20 | null | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:126:24:126:25 | "" | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:127:24:127:38 | ... \|\| ... | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:128:9:128:36 | ...; | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:98:13:98:25 | ... ? ... : ... | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:99:9:99:32 | [assertion failure] call to method IsTrue | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | +| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:100:9:100:36 | ...; | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:102:13:102:25 | ... ? ... : ... | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:102:17:102:20 | null | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:102:24:102:25 | "" | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | +| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:104:9:104:36 | ...; | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:106:13:106:25 | ... ? ... : ... | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:106:17:106:20 | null | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:106:24:106:25 | "" | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | +| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:108:9:108:36 | ...; | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:110:13:110:25 | ... ? ... : ... | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:110:17:110:20 | null | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:110:24:110:25 | "" | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | +| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:112:9:112:36 | ...; | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:114:13:114:25 | ... ? ... : ... | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:114:17:114:20 | null | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:114:24:114:25 | "" | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [false] ... && ... | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [true] ... && ... | +| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | ... && ... | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:116:9:116:36 | ...; | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:118:13:118:25 | ... ? ... : ... | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:118:17:118:20 | null | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:118:24:118:25 | "" | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [true] !... | +| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | ... \|\| ... | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:120:9:120:36 | ...; | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:122:13:122:25 | ... ? ... : ... | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:122:17:122:20 | null | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:122:24:122:25 | "" | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [true] ... && ... | +| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | ... && ... | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:124:9:124:36 | ...; | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:126:13:126:25 | ... ? ... : ... | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:126:17:126:20 | null | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:126:24:126:25 | "" | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [true] !... | +| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | ... \|\| ... | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:128:9:128:36 | ...; | | Assert.cs:98:17:98:20 | null | Assert.cs:98:17:98:20 | null | | Assert.cs:98:24:98:25 | "" | Assert.cs:98:24:98:25 | "" | -| Assert.cs:99:9:99:32 | [assertion failure] call to method IsTrue | Assert.cs:99:9:99:32 | [assertion failure] call to method IsTrue | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:102:13:102:25 | ... ? ... : ... | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:102:17:102:20 | null | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:102:24:102:25 | "" | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:106:13:106:25 | ... ? ... : ... | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:106:17:106:20 | null | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:106:24:106:25 | "" | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:110:13:110:25 | ... ? ... : ... | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:110:17:110:20 | null | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:110:24:110:25 | "" | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:114:13:114:25 | ... ? ... : ... | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:114:17:114:20 | null | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:114:24:114:25 | "" | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:115:23:115:36 | [false] ... && ... | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:115:23:115:36 | [true] ... && ... | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:115:36:115:36 | access to parameter b | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:118:13:118:25 | ... ? ... : ... | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:118:17:118:20 | null | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:118:24:118:25 | "" | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:119:24:119:38 | [true] ... \|\| ... | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:119:37:119:38 | [true] !... | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:119:38:119:38 | access to parameter b | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:122:13:122:25 | ... ? ... : ... | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:122:17:122:20 | null | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:122:24:122:25 | "" | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:123:23:123:36 | [true] ... && ... | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:123:36:123:36 | access to parameter b | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:126:13:126:25 | ... ? ... : ... | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:126:17:126:20 | null | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:126:24:126:25 | "" | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:127:37:127:38 | [true] !... | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:100:9:100:36 | ...; | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:102:13:102:25 | ... ? ... : ... | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:102:17:102:20 | null | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:102:24:102:25 | "" | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:104:9:104:36 | ...; | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:106:13:106:25 | ... ? ... : ... | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:106:17:106:20 | null | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:106:24:106:25 | "" | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:108:9:108:36 | ...; | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:110:13:110:25 | ... ? ... : ... | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:110:17:110:20 | null | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:110:24:110:25 | "" | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:112:9:112:36 | ...; | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:114:13:114:25 | ... ? ... : ... | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:114:17:114:20 | null | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:114:24:114:25 | "" | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:115:23:115:36 | ... && ... | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:116:9:116:36 | ...; | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:118:13:118:25 | ... ? ... : ... | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:118:17:118:20 | null | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:118:24:118:25 | "" | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:119:24:119:38 | ... \|\| ... | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:120:9:120:36 | ...; | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:122:13:122:25 | ... ? ... : ... | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:122:17:122:20 | null | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:122:24:122:25 | "" | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:123:23:123:36 | ... && ... | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:124:9:124:36 | ...; | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:126:13:126:25 | ... ? ... : ... | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:126:17:126:20 | null | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:126:24:126:25 | "" | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:127:24:127:38 | ... \|\| ... | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:128:9:128:36 | ...; | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:102:13:102:25 | ... ? ... : ... | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | +| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:104:9:104:36 | ...; | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:106:13:106:25 | ... ? ... : ... | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:106:17:106:20 | null | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:106:24:106:25 | "" | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | +| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:108:9:108:36 | ...; | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:110:13:110:25 | ... ? ... : ... | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:110:17:110:20 | null | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:110:24:110:25 | "" | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | +| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:112:9:112:36 | ...; | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:114:13:114:25 | ... ? ... : ... | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:114:17:114:20 | null | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:114:24:114:25 | "" | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [false] ... && ... | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [true] ... && ... | +| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | ... && ... | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:116:9:116:36 | ...; | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:118:13:118:25 | ... ? ... : ... | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:118:17:118:20 | null | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:118:24:118:25 | "" | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [true] !... | +| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | ... \|\| ... | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:120:9:120:36 | ...; | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:122:13:122:25 | ... ? ... : ... | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:122:17:122:20 | null | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:122:24:122:25 | "" | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [true] ... && ... | +| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | ... && ... | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:124:9:124:36 | ...; | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:126:13:126:25 | ... ? ... : ... | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:126:17:126:20 | null | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:126:24:126:25 | "" | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [true] !... | +| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | ... \|\| ... | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:128:9:128:36 | ...; | | Assert.cs:102:17:102:20 | null | Assert.cs:102:17:102:20 | null | | Assert.cs:102:24:102:25 | "" | Assert.cs:102:24:102:25 | "" | -| Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:106:13:106:25 | ... ? ... : ... | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:106:17:106:20 | null | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:106:24:106:25 | "" | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:110:13:110:25 | ... ? ... : ... | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:110:17:110:20 | null | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:110:24:110:25 | "" | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:114:13:114:25 | ... ? ... : ... | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:114:17:114:20 | null | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:114:24:114:25 | "" | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:115:23:115:36 | [false] ... && ... | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:115:23:115:36 | [true] ... && ... | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:115:36:115:36 | access to parameter b | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:118:13:118:25 | ... ? ... : ... | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:118:17:118:20 | null | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:118:24:118:25 | "" | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:119:24:119:38 | [true] ... \|\| ... | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:119:37:119:38 | [true] !... | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:119:38:119:38 | access to parameter b | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:122:13:122:25 | ... ? ... : ... | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:122:17:122:20 | null | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:122:24:122:25 | "" | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:123:23:123:36 | [true] ... && ... | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:123:36:123:36 | access to parameter b | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:126:13:126:25 | ... ? ... : ... | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:126:17:126:20 | null | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:126:24:126:25 | "" | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:127:37:127:38 | [true] !... | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:104:9:104:36 | ...; | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:106:13:106:25 | ... ? ... : ... | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:106:17:106:20 | null | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:106:24:106:25 | "" | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:108:9:108:36 | ...; | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:110:13:110:25 | ... ? ... : ... | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:110:17:110:20 | null | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:110:24:110:25 | "" | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:112:9:112:36 | ...; | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:114:13:114:25 | ... ? ... : ... | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:114:17:114:20 | null | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:114:24:114:25 | "" | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:115:23:115:36 | ... && ... | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:116:9:116:36 | ...; | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:118:13:118:25 | ... ? ... : ... | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:118:17:118:20 | null | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:118:24:118:25 | "" | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:119:24:119:38 | ... \|\| ... | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:120:9:120:36 | ...; | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:122:13:122:25 | ... ? ... : ... | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:122:17:122:20 | null | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:122:24:122:25 | "" | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:123:23:123:36 | ... && ... | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:124:9:124:36 | ...; | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:126:13:126:25 | ... ? ... : ... | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:126:17:126:20 | null | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:126:24:126:25 | "" | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:127:24:127:38 | ... \|\| ... | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:128:9:128:36 | ...; | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:106:13:106:25 | ... ? ... : ... | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | +| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:108:9:108:36 | ...; | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:110:13:110:25 | ... ? ... : ... | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:110:17:110:20 | null | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:110:24:110:25 | "" | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | +| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:112:9:112:36 | ...; | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:114:13:114:25 | ... ? ... : ... | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:114:17:114:20 | null | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:114:24:114:25 | "" | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [false] ... && ... | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [true] ... && ... | +| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | ... && ... | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:116:9:116:36 | ...; | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:118:13:118:25 | ... ? ... : ... | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:118:17:118:20 | null | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:118:24:118:25 | "" | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [true] !... | +| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | ... \|\| ... | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:120:9:120:36 | ...; | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:122:13:122:25 | ... ? ... : ... | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:122:17:122:20 | null | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:122:24:122:25 | "" | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [true] ... && ... | +| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | ... && ... | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:124:9:124:36 | ...; | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:126:13:126:25 | ... ? ... : ... | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:126:17:126:20 | null | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:126:24:126:25 | "" | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [true] !... | +| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | ... \|\| ... | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:128:9:128:36 | ...; | | Assert.cs:106:17:106:20 | null | Assert.cs:106:17:106:20 | null | | Assert.cs:106:24:106:25 | "" | Assert.cs:106:24:106:25 | "" | -| Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:110:13:110:25 | ... ? ... : ... | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:110:17:110:20 | null | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:110:24:110:25 | "" | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:114:13:114:25 | ... ? ... : ... | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:114:17:114:20 | null | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:114:24:114:25 | "" | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:115:23:115:36 | [false] ... && ... | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:115:23:115:36 | [true] ... && ... | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:115:36:115:36 | access to parameter b | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:118:13:118:25 | ... ? ... : ... | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:118:17:118:20 | null | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:118:24:118:25 | "" | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:119:24:119:38 | [true] ... \|\| ... | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:119:37:119:38 | [true] !... | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:119:38:119:38 | access to parameter b | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:122:13:122:25 | ... ? ... : ... | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:122:17:122:20 | null | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:122:24:122:25 | "" | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:123:23:123:36 | [true] ... && ... | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:123:36:123:36 | access to parameter b | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:126:13:126:25 | ... ? ... : ... | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:126:17:126:20 | null | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:126:24:126:25 | "" | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:127:37:127:38 | [true] !... | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:108:9:108:36 | ...; | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:110:13:110:25 | ... ? ... : ... | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:110:17:110:20 | null | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:110:24:110:25 | "" | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:112:9:112:36 | ...; | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:114:13:114:25 | ... ? ... : ... | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:114:17:114:20 | null | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:114:24:114:25 | "" | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:115:23:115:36 | ... && ... | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:116:9:116:36 | ...; | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:118:13:118:25 | ... ? ... : ... | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:118:17:118:20 | null | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:118:24:118:25 | "" | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:119:24:119:38 | ... \|\| ... | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:120:9:120:36 | ...; | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:122:13:122:25 | ... ? ... : ... | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:122:17:122:20 | null | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:122:24:122:25 | "" | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:123:23:123:36 | ... && ... | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:124:9:124:36 | ...; | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:126:13:126:25 | ... ? ... : ... | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:126:17:126:20 | null | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:126:24:126:25 | "" | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:127:24:127:38 | ... \|\| ... | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:128:9:128:36 | ...; | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:110:13:110:25 | ... ? ... : ... | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | +| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:112:9:112:36 | ...; | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:114:13:114:25 | ... ? ... : ... | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:114:17:114:20 | null | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:114:24:114:25 | "" | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [false] ... && ... | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [true] ... && ... | +| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | ... && ... | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:116:9:116:36 | ...; | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:118:13:118:25 | ... ? ... : ... | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:118:17:118:20 | null | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:118:24:118:25 | "" | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [true] !... | +| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | ... \|\| ... | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:120:9:120:36 | ...; | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:122:13:122:25 | ... ? ... : ... | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:122:17:122:20 | null | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:122:24:122:25 | "" | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [true] ... && ... | +| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | ... && ... | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:124:9:124:36 | ...; | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:126:13:126:25 | ... ? ... : ... | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:126:17:126:20 | null | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:126:24:126:25 | "" | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [true] !... | +| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | ... \|\| ... | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:128:9:128:36 | ...; | | Assert.cs:110:17:110:20 | null | Assert.cs:110:17:110:20 | null | | Assert.cs:110:24:110:25 | "" | Assert.cs:110:24:110:25 | "" | -| Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:114:13:114:25 | ... ? ... : ... | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:114:17:114:20 | null | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:114:24:114:25 | "" | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:115:23:115:36 | [false] ... && ... | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:115:23:115:36 | [true] ... && ... | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:115:36:115:36 | access to parameter b | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:118:13:118:25 | ... ? ... : ... | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:118:17:118:20 | null | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:118:24:118:25 | "" | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:119:24:119:38 | [true] ... \|\| ... | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:119:37:119:38 | [true] !... | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:119:38:119:38 | access to parameter b | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:122:13:122:25 | ... ? ... : ... | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:122:17:122:20 | null | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:122:24:122:25 | "" | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:123:23:123:36 | [true] ... && ... | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:123:36:123:36 | access to parameter b | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:126:13:126:25 | ... ? ... : ... | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:126:17:126:20 | null | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:126:24:126:25 | "" | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:127:37:127:38 | [true] !... | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:112:9:112:36 | ...; | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:114:13:114:25 | ... ? ... : ... | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:114:17:114:20 | null | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:114:24:114:25 | "" | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:115:23:115:36 | ... && ... | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:116:9:116:36 | ...; | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:118:13:118:25 | ... ? ... : ... | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:118:17:118:20 | null | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:118:24:118:25 | "" | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:119:24:119:38 | ... \|\| ... | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:120:9:120:36 | ...; | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:122:13:122:25 | ... ? ... : ... | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:122:17:122:20 | null | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:122:24:122:25 | "" | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:123:23:123:36 | ... && ... | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:124:9:124:36 | ...; | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:126:13:126:25 | ... ? ... : ... | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:126:17:126:20 | null | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:126:24:126:25 | "" | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:127:24:127:38 | ... \|\| ... | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:128:9:128:36 | ...; | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:114:13:114:25 | ... ? ... : ... | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [false] ... && ... | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [true] ... && ... | +| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | ... && ... | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:116:9:116:36 | ...; | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:118:13:118:25 | ... ? ... : ... | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:118:17:118:20 | null | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:118:24:118:25 | "" | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [true] !... | +| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | ... \|\| ... | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:120:9:120:36 | ...; | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:122:13:122:25 | ... ? ... : ... | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:122:17:122:20 | null | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:122:24:122:25 | "" | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [true] ... && ... | +| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | ... && ... | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:124:9:124:36 | ...; | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:126:13:126:25 | ... ? ... : ... | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:126:17:126:20 | null | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:126:24:126:25 | "" | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [true] !... | +| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | ... \|\| ... | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:128:9:128:36 | ...; | | Assert.cs:114:17:114:20 | null | Assert.cs:114:17:114:20 | null | | Assert.cs:114:24:114:25 | "" | Assert.cs:114:24:114:25 | "" | -| Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:118:13:118:25 | ... ? ... : ... | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:118:17:118:20 | null | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:118:24:118:25 | "" | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:119:24:119:38 | [true] ... \|\| ... | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:119:37:119:38 | [true] !... | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:119:38:119:38 | access to parameter b | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:122:13:122:25 | ... ? ... : ... | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:122:17:122:20 | null | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:122:24:122:25 | "" | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:123:23:123:36 | [true] ... && ... | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:123:36:123:36 | access to parameter b | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:126:13:126:25 | ... ? ... : ... | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:126:17:126:20 | null | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:126:24:126:25 | "" | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:127:37:127:38 | [true] !... | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:127:38:127:38 | access to parameter b | -| Assert.cs:115:23:115:36 | [false] ... && ... | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | -| Assert.cs:115:23:115:36 | [false] ... && ... | Assert.cs:115:23:115:36 | [false] ... && ... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:115:23:115:36 | [true] ... && ... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:118:13:118:25 | ... ? ... : ... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:118:17:118:20 | null | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:118:24:118:25 | "" | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:119:37:119:38 | [true] !... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:119:38:119:38 | access to parameter b | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:122:13:122:25 | ... ? ... : ... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:122:17:122:20 | null | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:122:24:122:25 | "" | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:123:23:123:36 | [true] ... && ... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:123:36:123:36 | access to parameter b | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:126:13:126:25 | ... ? ... : ... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:126:17:126:20 | null | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:126:24:126:25 | "" | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:127:37:127:38 | [true] !... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:127:38:127:38 | access to parameter b | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:115:23:115:36 | [true] ... && ... | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:115:23:115:36 | ... && ... | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:116:9:116:36 | ...; | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:118:13:118:25 | ... ? ... : ... | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:118:17:118:20 | null | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:118:24:118:25 | "" | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:119:24:119:38 | ... \|\| ... | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:120:9:120:36 | ...; | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:122:13:122:25 | ... ? ... : ... | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:122:17:122:20 | null | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:122:24:122:25 | "" | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:123:23:123:36 | ... && ... | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:124:9:124:36 | ...; | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:126:13:126:25 | ... ? ... : ... | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:126:17:126:20 | null | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:126:24:126:25 | "" | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:127:24:127:38 | ... \|\| ... | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:128:9:128:36 | ...; | | Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:115:36:115:36 | access to parameter b | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:118:13:118:25 | ... ? ... : ... | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:118:17:118:20 | null | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:118:24:118:25 | "" | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:119:24:119:38 | [true] ... \|\| ... | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:119:37:119:38 | [true] !... | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:119:38:119:38 | access to parameter b | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:122:13:122:25 | ... ? ... : ... | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:122:17:122:20 | null | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:122:24:122:25 | "" | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:123:23:123:36 | [true] ... && ... | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:123:36:123:36 | access to parameter b | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:126:13:126:25 | ... ? ... : ... | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:126:17:126:20 | null | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:126:24:126:25 | "" | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:127:37:127:38 | [true] !... | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:116:9:116:36 | ...; | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:118:13:118:25 | ... ? ... : ... | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:118:17:118:20 | null | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:118:24:118:25 | "" | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:119:24:119:38 | ... \|\| ... | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:120:9:120:36 | ...; | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:122:13:122:25 | ... ? ... : ... | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:122:17:122:20 | null | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:122:24:122:25 | "" | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:123:23:123:36 | ... && ... | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:124:9:124:36 | ...; | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:126:13:126:25 | ... ? ... : ... | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:126:17:126:20 | null | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:126:24:126:25 | "" | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:127:24:127:38 | ... \|\| ... | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:128:9:128:36 | ...; | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:118:13:118:25 | ... ? ... : ... | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [true] !... | +| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | ... \|\| ... | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:120:9:120:36 | ...; | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:122:13:122:25 | ... ? ... : ... | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:122:17:122:20 | null | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:122:24:122:25 | "" | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [true] ... && ... | +| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | ... && ... | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:124:9:124:36 | ...; | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:126:13:126:25 | ... ? ... : ... | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:126:17:126:20 | null | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:126:24:126:25 | "" | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [true] !... | +| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | ... \|\| ... | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:128:9:128:36 | ...; | | Assert.cs:118:17:118:20 | null | Assert.cs:118:17:118:20 | null | | Assert.cs:118:24:118:25 | "" | Assert.cs:118:24:118:25 | "" | -| Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:122:13:122:25 | ... ? ... : ... | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:122:17:122:20 | null | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:122:24:122:25 | "" | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:123:23:123:36 | [true] ... && ... | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:123:36:123:36 | access to parameter b | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:126:13:126:25 | ... ? ... : ... | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:126:17:126:20 | null | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:126:24:126:25 | "" | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:127:37:127:38 | [true] !... | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:127:38:127:38 | access to parameter b | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:122:13:122:25 | ... ? ... : ... | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:122:17:122:20 | null | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:122:24:122:25 | "" | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:123:23:123:36 | [true] ... && ... | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:123:36:123:36 | access to parameter b | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:126:13:126:25 | ... ? ... : ... | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:126:17:126:20 | null | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:126:24:126:25 | "" | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:127:37:127:38 | [true] !... | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:127:38:127:38 | access to parameter b | -| Assert.cs:119:24:119:38 | [true] ... \|\| ... | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | -| Assert.cs:119:24:119:38 | [true] ... \|\| ... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:122:13:122:25 | ... ? ... : ... | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:122:17:122:20 | null | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:122:24:122:25 | "" | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:123:23:123:36 | [true] ... && ... | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:123:36:123:36 | access to parameter b | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:126:13:126:25 | ... ? ... : ... | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:126:17:126:20 | null | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:126:24:126:25 | "" | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:127:37:127:38 | [true] !... | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:127:38:127:38 | access to parameter b | -| Assert.cs:119:37:119:38 | [true] !... | Assert.cs:119:37:119:38 | [true] !... | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:37:119:38 | [true] !... | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:119:24:119:38 | ... \|\| ... | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:120:9:120:36 | ...; | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:122:13:122:25 | ... ? ... : ... | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:122:17:122:20 | null | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:122:24:122:25 | "" | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:123:23:123:36 | ... && ... | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:124:9:124:36 | ...; | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:126:13:126:25 | ... ? ... : ... | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:126:17:126:20 | null | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:126:24:126:25 | "" | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:127:24:127:38 | ... \|\| ... | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:128:9:128:36 | ...; | | Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:38:119:38 | access to parameter b | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:122:13:122:25 | ... ? ... : ... | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:122:17:122:20 | null | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:122:24:122:25 | "" | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:123:23:123:36 | [true] ... && ... | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:123:36:123:36 | access to parameter b | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:126:13:126:25 | ... ? ... : ... | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:126:17:126:20 | null | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:126:24:126:25 | "" | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:127:37:127:38 | [true] !... | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:120:9:120:36 | ...; | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:122:13:122:25 | ... ? ... : ... | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:122:17:122:20 | null | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:122:24:122:25 | "" | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:123:23:123:36 | ... && ... | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:124:9:124:36 | ...; | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:126:13:126:25 | ... ? ... : ... | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:126:17:126:20 | null | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:126:24:126:25 | "" | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:127:24:127:38 | ... \|\| ... | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:128:9:128:36 | ...; | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:122:13:122:25 | ... ? ... : ... | -| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [true] ... && ... | +| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | ... && ... | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:124:9:124:36 | ...; | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:126:13:126:25 | ... ? ... : ... | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:126:17:126:20 | null | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:126:24:126:25 | "" | -| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [true] !... | +| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | ... \|\| ... | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:128:9:128:36 | ...; | | Assert.cs:122:17:122:20 | null | Assert.cs:122:17:122:20 | null | | Assert.cs:122:24:122:25 | "" | Assert.cs:122:24:122:25 | "" | -| Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:126:13:126:25 | ... ? ... : ... | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:126:17:126:20 | null | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:126:24:126:25 | "" | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:127:37:127:38 | [true] !... | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:127:38:127:38 | access to parameter b | -| Assert.cs:123:23:123:36 | [false] ... && ... | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:123:23:123:36 | [false] ... && ... | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:123:23:123:36 | [true] ... && ... | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:126:13:126:25 | ... ? ... : ... | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:126:17:126:20 | null | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:126:24:126:25 | "" | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:127:37:127:38 | [true] !... | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:127:38:127:38 | access to parameter b | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:123:23:123:36 | [true] ... && ... | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:123:23:123:36 | ... && ... | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:124:9:124:36 | ...; | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:126:13:126:25 | ... ? ... : ... | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:126:17:126:20 | null | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:126:24:126:25 | "" | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:127:24:127:38 | ... \|\| ... | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:128:9:128:36 | ...; | | Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:123:36:123:36 | access to parameter b | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:126:13:126:25 | ... ? ... : ... | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:126:17:126:20 | null | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:126:24:126:25 | "" | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:127:37:127:38 | [true] !... | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:124:9:124:36 | ...; | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:126:13:126:25 | ... ? ... : ... | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:126:17:126:20 | null | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:126:24:126:25 | "" | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:127:24:127:38 | ... \|\| ... | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:128:9:128:36 | ...; | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:126:13:126:25 | ... ? ... : ... | -| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:127:37:127:38 | [true] !... | +| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:127:24:127:38 | ... \|\| ... | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:128:9:128:36 | ...; | | Assert.cs:126:17:126:20 | null | Assert.cs:126:17:126:20 | null | | Assert.cs:126:24:126:25 | "" | Assert.cs:126:24:126:25 | "" | -| Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:127:24:127:38 | [true] ... \|\| ... | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:127:24:127:38 | [true] ... \|\| ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:127:37:127:38 | [true] !... | Assert.cs:127:37:127:38 | [true] !... | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:37:127:38 | [true] !... | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:127:24:127:38 | ... \|\| ... | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:128:9:128:36 | ...; | | Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:128:9:128:36 | ...; | | Assert.cs:131:18:131:32 | enter AssertTrueFalse | Assert.cs:131:18:131:32 | enter AssertTrueFalse | | Assert.cs:138:10:138:12 | enter M13 | Assert.cs:138:10:138:12 | enter M13 | | Assert.cs:138:10:138:12 | enter M13 | Assert.cs:138:10:138:12 | exit M13 | | Assert.cs:138:10:138:12 | enter M13 | Assert.cs:138:10:138:12 | exit M13 (abnormal) | -| Assert.cs:138:10:138:12 | enter M13 | Assert.cs:140:29:140:30 | [assertion failure] access to parameter b2 | -| Assert.cs:138:10:138:12 | enter M13 | Assert.cs:140:29:140:30 | access to parameter b2 | -| Assert.cs:138:10:138:12 | enter M13 | Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | -| Assert.cs:138:10:138:12 | enter M13 | Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | -| Assert.cs:138:10:138:12 | enter M13 | Assert.cs:140:33:140:34 | [assertion success] access to parameter b3 | +| Assert.cs:138:10:138:12 | enter M13 | Assert.cs:141:9:141:15 | return ...; | | Assert.cs:138:10:138:12 | exit M13 | Assert.cs:138:10:138:12 | exit M13 | | Assert.cs:138:10:138:12 | exit M13 (abnormal) | Assert.cs:138:10:138:12 | exit M13 (abnormal) | -| Assert.cs:140:29:140:30 | [assertion failure] access to parameter b2 | Assert.cs:140:29:140:30 | [assertion failure] access to parameter b2 | -| Assert.cs:140:29:140:30 | [assertion failure] access to parameter b2 | Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | -| Assert.cs:140:29:140:30 | access to parameter b2 | 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 | [assertion failure] access to parameter b3 | -| Assert.cs:140:29:140:30 | access to parameter b2 | Assert.cs:140:33:140:34 | [assertion success] access to parameter b3 | -| Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | -| Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | -| Assert.cs:140:33:140:34 | [assertion success] access to parameter b3 | Assert.cs:140:33:140:34 | [assertion success] access to parameter b3 | +| Assert.cs:141:9:141:15 | return ...; | Assert.cs:141:9:141:15 | return ...; | | Assignments.cs:1:7:1:17 | enter Assignments | Assignments.cs:1:7:1:17 | enter Assignments | | Assignments.cs:3:10:3:10 | enter M | Assignments.cs:3:10:3:10 | enter M | | Assignments.cs:14:18:14:35 | enter (...) => ... | Assignments.cs:14:18:14:35 | enter (...) => ... | @@ -9458,19 +8962,15 @@ blockDominance | ExitMethods.cs:117:34:117:34 | 0 | ExitMethods.cs:117:34:117:34 | 0 | | ExitMethods.cs:117:38:117:38 | 1 | ExitMethods.cs:117:38:117:38 | 1 | | ExitMethods.cs:120:17:120:32 | enter FailingAssertion | ExitMethods.cs:120:17:120:32 | enter FailingAssertion | -| ExitMethods.cs:120:17:120:32 | enter FailingAssertion | ExitMethods.cs:122:9:122:28 | [assertion failure] call to method IsTrue | -| ExitMethods.cs:122:9:122:28 | [assertion failure] call to method IsTrue | ExitMethods.cs:122:9:122:28 | [assertion failure] call to method IsTrue | | ExitMethods.cs:126:17:126:33 | enter FailingAssertion2 | ExitMethods.cs:126:17:126:33 | enter FailingAssertion2 | | ExitMethods.cs:132:10:132:20 | enter AssertFalse | ExitMethods.cs:132:10:132:20 | enter AssertFalse | | ExitMethods.cs:132:10:132:20 | enter AssertFalse | ExitMethods.cs:132:10:132:20 | exit AssertFalse | -| ExitMethods.cs:132:10:132:20 | enter AssertFalse | ExitMethods.cs:132:33:132:49 | [assertion failure] call to method IsFalse | -| ExitMethods.cs:132:10:132:20 | enter AssertFalse | ExitMethods.cs:132:33:132:49 | [assertion success] call to method IsFalse | +| ExitMethods.cs:132:10:132:20 | enter AssertFalse | ExitMethods.cs:132:10:132:20 | exit AssertFalse (abnormal) | +| ExitMethods.cs:132:10:132:20 | enter AssertFalse | ExitMethods.cs:132:10:132:20 | exit AssertFalse (normal) | | ExitMethods.cs:132:10:132:20 | exit AssertFalse | ExitMethods.cs:132:10:132:20 | exit AssertFalse | -| ExitMethods.cs:132:33:132:49 | [assertion failure] call to method IsFalse | ExitMethods.cs:132:33:132:49 | [assertion failure] call to method IsFalse | -| ExitMethods.cs:132:33:132:49 | [assertion success] call to method IsFalse | ExitMethods.cs:132:33:132:49 | [assertion success] call to method IsFalse | +| ExitMethods.cs:132:10:132:20 | exit AssertFalse (abnormal) | ExitMethods.cs:132:10:132:20 | exit AssertFalse (abnormal) | +| ExitMethods.cs:132:10:132:20 | exit AssertFalse (normal) | ExitMethods.cs:132:10:132:20 | exit AssertFalse (normal) | | ExitMethods.cs:134:17:134:33 | enter FailingAssertion3 | ExitMethods.cs:134:17:134:33 | enter FailingAssertion3 | -| ExitMethods.cs:134:17:134:33 | enter FailingAssertion3 | ExitMethods.cs:136:9:136:25 | [assertion failure] call to method AssertFalse | -| ExitMethods.cs:136:9:136:25 | [assertion failure] call to method AssertFalse | ExitMethods.cs:136:9:136:25 | [assertion failure] call to method AssertFalse | | ExitMethods.cs:140:17:140:42 | enter ExceptionDispatchInfoThrow | ExitMethods.cs:140:17:140:42 | enter ExceptionDispatchInfoThrow | | ExitMethods.cs:140:17:140:42 | enter ExceptionDispatchInfoThrow | ExitMethods.cs:140:17:140:42 | exit ExceptionDispatchInfoThrow (abnormal) | | ExitMethods.cs:140:17:140:42 | enter ExceptionDispatchInfoThrow | ExitMethods.cs:143:13:143:43 | ...; | @@ -11815,214 +11315,194 @@ postBlockDominance | Assert.cs:5:7:5:17 | enter AssertTests | Assert.cs:5:7:5:17 | enter AssertTests | | Assert.cs:7:10:7:11 | enter M1 | Assert.cs:7:10:7:11 | enter M1 | | Assert.cs:7:10:7:11 | exit M1 | Assert.cs:7:10:7:11 | exit M1 | +| Assert.cs:7:10:7:11 | exit M1 (abnormal) | Assert.cs:7:10:7:11 | exit M1 (abnormal) | | Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:7:10:7:11 | enter M1 | | Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:9:20:9:32 | ... ? ... : ... | | Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:9:24:9:27 | null | | Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:9:31:9:32 | "" | | Assert.cs:9:24:9:27 | null | Assert.cs:9:24:9:27 | null | | Assert.cs:9:31:9:32 | "" | Assert.cs:9:31:9:32 | "" | -| Assert.cs:10:9:10:31 | [assertion failure] call to method Assert | Assert.cs:10:9:10:31 | [assertion failure] call to method Assert | -| Assert.cs:10:9:10:31 | [assertion success] call to method Assert | Assert.cs:7:10:7:11 | enter M1 | -| Assert.cs:10:9:10:31 | [assertion success] call to method Assert | Assert.cs:9:20:9:32 | ... ? ... : ... | -| Assert.cs:10:9:10:31 | [assertion success] call to method Assert | Assert.cs:9:24:9:27 | null | -| Assert.cs:10:9:10:31 | [assertion success] call to method Assert | Assert.cs:9:31:9:32 | "" | -| Assert.cs:10:9:10:31 | [assertion success] call to method Assert | Assert.cs:10:9:10:31 | [assertion success] call to method Assert | +| Assert.cs:11:9:11:36 | ...; | Assert.cs:7:10:7:11 | enter M1 | +| Assert.cs:11:9:11:36 | ...; | Assert.cs:9:20:9:32 | ... ? ... : ... | +| Assert.cs:11:9:11:36 | ...; | Assert.cs:9:24:9:27 | null | +| Assert.cs:11:9:11:36 | ...; | Assert.cs:9:31:9:32 | "" | +| Assert.cs:11:9:11:36 | ...; | Assert.cs:11:9:11:36 | ...; | | Assert.cs:14:10:14:11 | enter M2 | Assert.cs:14:10:14:11 | enter M2 | | Assert.cs:14:10:14:11 | exit M2 | Assert.cs:14:10:14:11 | exit M2 | +| Assert.cs:14:10:14:11 | exit M2 (abnormal) | Assert.cs:14:10:14:11 | exit M2 (abnormal) | | Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:14:10:14:11 | enter M2 | | Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:16:20:16:32 | ... ? ... : ... | | Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:16:24:16:27 | null | | Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:16:31:16:32 | "" | | Assert.cs:16:24:16:27 | null | Assert.cs:16:24:16:27 | null | | Assert.cs:16:31:16:32 | "" | Assert.cs:16:31:16:32 | "" | -| Assert.cs:17:9:17:24 | [assertion failure] call to method IsNull | Assert.cs:17:9:17:24 | [assertion failure] call to method IsNull | -| Assert.cs:17:9:17:24 | [assertion success] call to method IsNull | Assert.cs:14:10:14:11 | enter M2 | -| Assert.cs:17:9:17:24 | [assertion success] call to method IsNull | Assert.cs:16:20:16:32 | ... ? ... : ... | -| Assert.cs:17:9:17:24 | [assertion success] call to method IsNull | Assert.cs:16:24:16:27 | null | -| Assert.cs:17:9:17:24 | [assertion success] call to method IsNull | Assert.cs:16:31:16:32 | "" | -| Assert.cs:17:9:17:24 | [assertion success] call to method IsNull | Assert.cs:17:9:17:24 | [assertion success] call to method IsNull | +| Assert.cs:18:9:18:36 | ...; | Assert.cs:14:10:14:11 | enter M2 | +| Assert.cs:18:9:18:36 | ...; | Assert.cs:16:20:16:32 | ... ? ... : ... | +| Assert.cs:18:9:18:36 | ...; | Assert.cs:16:24:16:27 | null | +| Assert.cs:18:9:18:36 | ...; | Assert.cs:16:31:16:32 | "" | +| Assert.cs:18:9:18:36 | ...; | Assert.cs:18:9:18:36 | ...; | | Assert.cs:21:10:21:11 | enter M3 | Assert.cs:21:10:21:11 | enter M3 | | Assert.cs:21:10:21:11 | exit M3 | Assert.cs:21:10:21:11 | exit M3 | +| Assert.cs:21:10:21:11 | exit M3 (abnormal) | Assert.cs:21:10:21:11 | exit M3 (abnormal) | | Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:21:10:21:11 | enter M3 | | Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:23:20:23:32 | ... ? ... : ... | | Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:23:24:23:27 | null | | Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:23:31:23:32 | "" | | Assert.cs:23:24:23:27 | null | Assert.cs:23:24:23:27 | null | | Assert.cs:23:31:23:32 | "" | Assert.cs:23:31:23:32 | "" | -| Assert.cs:24:9:24:27 | [assertion failure] call to method IsNotNull | Assert.cs:24:9:24:27 | [assertion failure] call to method IsNotNull | -| Assert.cs:24:9:24:27 | [assertion success] call to method IsNotNull | Assert.cs:21:10:21:11 | enter M3 | -| Assert.cs:24:9:24:27 | [assertion success] call to method IsNotNull | Assert.cs:23:20:23:32 | ... ? ... : ... | -| Assert.cs:24:9:24:27 | [assertion success] call to method IsNotNull | Assert.cs:23:24:23:27 | null | -| Assert.cs:24:9:24:27 | [assertion success] call to method IsNotNull | Assert.cs:23:31:23:32 | "" | -| Assert.cs:24:9:24:27 | [assertion success] call to method IsNotNull | Assert.cs:24:9:24:27 | [assertion success] call to method IsNotNull | +| Assert.cs:25:9:25:36 | ...; | Assert.cs:21:10:21:11 | enter M3 | +| Assert.cs:25:9:25:36 | ...; | Assert.cs:23:20:23:32 | ... ? ... : ... | +| Assert.cs:25:9:25:36 | ...; | Assert.cs:23:24:23:27 | null | +| Assert.cs:25:9:25:36 | ...; | Assert.cs:23:31:23:32 | "" | +| Assert.cs:25:9:25:36 | ...; | Assert.cs:25:9:25:36 | ...; | | Assert.cs:28:10:28:11 | enter M4 | Assert.cs:28:10:28:11 | enter M4 | | Assert.cs:28:10:28:11 | exit M4 | Assert.cs:28:10:28:11 | exit M4 | +| Assert.cs:28:10:28:11 | exit M4 (abnormal) | Assert.cs:28:10:28:11 | exit M4 (abnormal) | | Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:28:10:28:11 | enter M4 | | Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:30:20:30:32 | ... ? ... : ... | | Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:30:24:30:27 | null | | Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:30:31:30:32 | "" | | Assert.cs:30:24:30:27 | null | Assert.cs:30:24:30:27 | null | | Assert.cs:30:31:30:32 | "" | Assert.cs:30:31:30:32 | "" | -| Assert.cs:31:9:31:32 | [assertion failure] call to method IsTrue | Assert.cs:31:9:31:32 | [assertion failure] call to method IsTrue | -| Assert.cs:31:9:31:32 | [assertion success] call to method IsTrue | Assert.cs:28:10:28:11 | enter M4 | -| Assert.cs:31:9:31:32 | [assertion success] call to method IsTrue | Assert.cs:30:20:30:32 | ... ? ... : ... | -| Assert.cs:31:9:31:32 | [assertion success] call to method IsTrue | Assert.cs:30:24:30:27 | null | -| Assert.cs:31:9:31:32 | [assertion success] call to method IsTrue | Assert.cs:30:31:30:32 | "" | -| Assert.cs:31:9:31:32 | [assertion success] call to method IsTrue | Assert.cs:31:9:31:32 | [assertion success] call to method IsTrue | +| Assert.cs:32:9:32:36 | ...; | Assert.cs:28:10:28:11 | enter M4 | +| Assert.cs:32:9:32:36 | ...; | Assert.cs:30:20:30:32 | ... ? ... : ... | +| Assert.cs:32:9:32:36 | ...; | Assert.cs:30:24:30:27 | null | +| Assert.cs:32:9:32:36 | ...; | Assert.cs:30:31:30:32 | "" | +| Assert.cs:32:9:32:36 | ...; | Assert.cs:32:9:32:36 | ...; | | Assert.cs:35:10:35:11 | enter M5 | Assert.cs:35:10:35:11 | enter M5 | | Assert.cs:35:10:35:11 | exit M5 | Assert.cs:35:10:35:11 | exit M5 | +| Assert.cs:35:10:35:11 | exit M5 (abnormal) | Assert.cs:35:10:35:11 | exit M5 (abnormal) | | Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:35:10:35:11 | enter M5 | | Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:37:20:37:32 | ... ? ... : ... | | Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:37:24:37:27 | null | | Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:37:31:37:32 | "" | | Assert.cs:37:24:37:27 | null | Assert.cs:37:24:37:27 | null | | Assert.cs:37:31:37:32 | "" | Assert.cs:37:31:37:32 | "" | -| Assert.cs:38:9:38:32 | [assertion failure] call to method IsTrue | Assert.cs:38:9:38:32 | [assertion failure] call to method IsTrue | -| Assert.cs:38:9:38:32 | [assertion success] call to method IsTrue | Assert.cs:35:10:35:11 | enter M5 | -| Assert.cs:38:9:38:32 | [assertion success] call to method IsTrue | Assert.cs:37:20:37:32 | ... ? ... : ... | -| Assert.cs:38:9:38:32 | [assertion success] call to method IsTrue | Assert.cs:37:24:37:27 | null | -| Assert.cs:38:9:38:32 | [assertion success] call to method IsTrue | Assert.cs:37:31:37:32 | "" | -| Assert.cs:38:9:38:32 | [assertion success] call to method IsTrue | Assert.cs:38:9:38:32 | [assertion success] call to method IsTrue | +| Assert.cs:39:9:39:36 | ...; | Assert.cs:35:10:35:11 | enter M5 | +| Assert.cs:39:9:39:36 | ...; | Assert.cs:37:20:37:32 | ... ? ... : ... | +| Assert.cs:39:9:39:36 | ...; | Assert.cs:37:24:37:27 | null | +| Assert.cs:39:9:39:36 | ...; | Assert.cs:37:31:37:32 | "" | +| Assert.cs:39:9:39:36 | ...; | Assert.cs:39:9:39:36 | ...; | | Assert.cs:42:10:42:11 | enter M6 | Assert.cs:42:10:42:11 | enter M6 | | Assert.cs:42:10:42:11 | exit M6 | Assert.cs:42:10:42:11 | exit M6 | +| Assert.cs:42:10:42:11 | exit M6 (abnormal) | Assert.cs:42:10:42:11 | exit M6 (abnormal) | | Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:42:10:42:11 | enter M6 | | Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:44:20:44:32 | ... ? ... : ... | | Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:44:24:44:27 | null | | Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:44:31:44:32 | "" | | Assert.cs:44:24:44:27 | null | Assert.cs:44:24:44:27 | null | | Assert.cs:44:31:44:32 | "" | Assert.cs:44:31:44:32 | "" | -| Assert.cs:45:9:45:33 | [assertion failure] call to method IsFalse | Assert.cs:45:9:45:33 | [assertion failure] call to method IsFalse | -| Assert.cs:45:9:45:33 | [assertion success] call to method IsFalse | Assert.cs:42:10:42:11 | enter M6 | -| Assert.cs:45:9:45:33 | [assertion success] call to method IsFalse | Assert.cs:44:20:44:32 | ... ? ... : ... | -| Assert.cs:45:9:45:33 | [assertion success] call to method IsFalse | Assert.cs:44:24:44:27 | null | -| Assert.cs:45:9:45:33 | [assertion success] call to method IsFalse | Assert.cs:44:31:44:32 | "" | -| Assert.cs:45:9:45:33 | [assertion success] call to method IsFalse | Assert.cs:45:9:45:33 | [assertion success] call to method IsFalse | +| Assert.cs:46:9:46:36 | ...; | Assert.cs:42:10:42:11 | enter M6 | +| Assert.cs:46:9:46:36 | ...; | Assert.cs:44:20:44:32 | ... ? ... : ... | +| Assert.cs:46:9:46:36 | ...; | Assert.cs:44:24:44:27 | null | +| Assert.cs:46:9:46:36 | ...; | Assert.cs:44:31:44:32 | "" | +| Assert.cs:46:9:46:36 | ...; | Assert.cs:46:9:46:36 | ...; | | Assert.cs:49:10:49:11 | enter M7 | Assert.cs:49:10:49:11 | enter M7 | | Assert.cs:49:10:49:11 | exit M7 | Assert.cs:49:10:49:11 | exit M7 | +| Assert.cs:49:10:49:11 | exit M7 (abnormal) | Assert.cs:49:10:49:11 | exit M7 (abnormal) | | Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:49:10:49:11 | enter M7 | | Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:51:20:51:32 | ... ? ... : ... | | Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:51:24:51:27 | null | | Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:51:31:51:32 | "" | | Assert.cs:51:24:51:27 | null | Assert.cs:51:24:51:27 | null | | Assert.cs:51:31:51:32 | "" | Assert.cs:51:31:51:32 | "" | -| Assert.cs:52:9:52:33 | [assertion failure] call to method IsFalse | Assert.cs:52:9:52:33 | [assertion failure] call to method IsFalse | -| Assert.cs:52:9:52:33 | [assertion success] call to method IsFalse | Assert.cs:49:10:49:11 | enter M7 | -| Assert.cs:52:9:52:33 | [assertion success] call to method IsFalse | Assert.cs:51:20:51:32 | ... ? ... : ... | -| Assert.cs:52:9:52:33 | [assertion success] call to method IsFalse | Assert.cs:51:24:51:27 | null | -| Assert.cs:52:9:52:33 | [assertion success] call to method IsFalse | Assert.cs:51:31:51:32 | "" | -| Assert.cs:52:9:52:33 | [assertion success] call to method IsFalse | Assert.cs:52:9:52:33 | [assertion success] call to method IsFalse | +| Assert.cs:53:9:53:36 | ...; | Assert.cs:49:10:49:11 | enter M7 | +| Assert.cs:53:9:53:36 | ...; | Assert.cs:51:20:51:32 | ... ? ... : ... | +| Assert.cs:53:9:53:36 | ...; | Assert.cs:51:24:51:27 | null | +| Assert.cs:53:9:53:36 | ...; | Assert.cs:51:31:51:32 | "" | +| Assert.cs:53:9:53:36 | ...; | Assert.cs:53:9:53:36 | ...; | | Assert.cs:56:10:56:11 | enter M8 | Assert.cs:56:10:56:11 | enter M8 | | Assert.cs:56:10:56:11 | exit M8 | Assert.cs:56:10:56:11 | exit M8 | +| Assert.cs:56:10:56:11 | exit M8 (abnormal) | Assert.cs:56:10:56:11 | exit M8 (abnormal) | | Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:56:10:56:11 | enter M8 | | Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:58:20:58:32 | ... ? ... : ... | | Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:58:24:58:27 | null | | Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:58:31:58:32 | "" | | Assert.cs:58:24:58:27 | null | Assert.cs:58:24:58:27 | null | | Assert.cs:58:31:58:32 | "" | Assert.cs:58:31:58:32 | "" | -| Assert.cs:59:9:59:37 | [assertion failure] call to method IsTrue | Assert.cs:59:9:59:37 | [assertion failure] call to method IsTrue | -| Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | Assert.cs:56:10:56:11 | enter M8 | -| Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | Assert.cs:58:20:58:32 | ... ? ... : ... | -| Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | Assert.cs:58:24:58:27 | null | -| Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | Assert.cs:58:31:58:32 | "" | -| Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | -| Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | Assert.cs:59:23:59:36 | [true] ... && ... | -| Assert.cs:59:9:59:37 | [assertion success] call to method IsTrue | Assert.cs:59:36:59:36 | access to parameter b | -| Assert.cs:59:23:59:36 | [false] ... && ... | Assert.cs:59:23:59:36 | [false] ... && ... | -| Assert.cs:59:23:59:36 | [true] ... && ... | Assert.cs:56:10:56:11 | enter M8 | -| Assert.cs:59:23:59:36 | [true] ... && ... | Assert.cs:58:20:58:32 | ... ? ... : ... | -| Assert.cs:59:23:59:36 | [true] ... && ... | Assert.cs:58:24:58:27 | null | -| Assert.cs:59:23:59:36 | [true] ... && ... | Assert.cs:58:31:58:32 | "" | -| Assert.cs:59:23:59:36 | [true] ... && ... | Assert.cs:59:23:59:36 | [true] ... && ... | -| Assert.cs:59:23:59:36 | [true] ... && ... | Assert.cs:59:36:59:36 | access to parameter b | -| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:56:10:56:11 | enter M8 | -| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:58:20:58:32 | ... ? ... : ... | -| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:58:24:58:27 | null | -| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:58:31:58:32 | "" | +| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:56:10:56:11 | enter M8 | +| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:58:20:58:32 | ... ? ... : ... | +| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:58:24:58:27 | null | +| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:58:31:58:32 | "" | +| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:59:23:59:36 | ... && ... | +| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:59:36:59:36 | access to parameter b | | Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:59:36:59:36 | access to parameter b | +| Assert.cs:60:9:60:36 | ...; | Assert.cs:56:10:56:11 | enter M8 | +| Assert.cs:60:9:60:36 | ...; | Assert.cs:58:20:58:32 | ... ? ... : ... | +| Assert.cs:60:9:60:36 | ...; | Assert.cs:58:24:58:27 | null | +| Assert.cs:60:9:60:36 | ...; | Assert.cs:58:31:58:32 | "" | +| Assert.cs:60:9:60:36 | ...; | Assert.cs:59:23:59:36 | ... && ... | +| Assert.cs:60:9:60:36 | ...; | Assert.cs:59:36:59:36 | access to parameter b | +| Assert.cs:60:9:60:36 | ...; | Assert.cs:60:9:60:36 | ...; | | Assert.cs:63:10:63:11 | enter M9 | Assert.cs:63:10:63:11 | enter M9 | | Assert.cs:63:10:63:11 | exit M9 | Assert.cs:63:10:63:11 | exit M9 | +| Assert.cs:63:10:63:11 | exit M9 (abnormal) | Assert.cs:63:10:63:11 | exit M9 (abnormal) | | Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:63:10:63:11 | enter M9 | | Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:65:20:65:32 | ... ? ... : ... | | Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:65:24:65:27 | null | | Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:65:31:65:32 | "" | | Assert.cs:65:24:65:27 | null | Assert.cs:65:24:65:27 | null | | Assert.cs:65:31:65:32 | "" | Assert.cs:65:31:65:32 | "" | -| Assert.cs:66:9:66:38 | [assertion failure] call to method IsFalse | Assert.cs:66:9:66:38 | [assertion failure] call to method IsFalse | -| Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | Assert.cs:63:10:63:11 | enter M9 | -| Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | Assert.cs:65:20:65:32 | ... ? ... : ... | -| Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | Assert.cs:65:24:65:27 | null | -| Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | Assert.cs:65:31:65:32 | "" | -| Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | -| Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | Assert.cs:66:24:66:37 | [false] ... \|\| ... | -| Assert.cs:66:9:66:38 | [assertion success] call to method IsFalse | Assert.cs:66:37:66:37 | access to parameter b | -| Assert.cs:66:24:66:37 | [false] ... \|\| ... | Assert.cs:63:10:63:11 | enter M9 | -| Assert.cs:66:24:66:37 | [false] ... \|\| ... | Assert.cs:65:20:65:32 | ... ? ... : ... | -| Assert.cs:66:24:66:37 | [false] ... \|\| ... | Assert.cs:65:24:65:27 | null | -| Assert.cs:66:24:66:37 | [false] ... \|\| ... | Assert.cs:65:31:65:32 | "" | -| Assert.cs:66:24:66:37 | [false] ... \|\| ... | Assert.cs:66:24:66:37 | [false] ... \|\| ... | -| Assert.cs:66:24:66:37 | [false] ... \|\| ... | Assert.cs:66:37:66:37 | access to parameter b | -| Assert.cs:66:24:66:37 | [true] ... \|\| ... | Assert.cs:66:24:66:37 | [true] ... \|\| ... | -| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:63:10:63:11 | enter M9 | -| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:65:20:65:32 | ... ? ... : ... | -| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:65:24:65:27 | null | -| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:65:31:65:32 | "" | +| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:63:10:63:11 | enter M9 | +| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:65:20:65:32 | ... ? ... : ... | +| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:65:24:65:27 | null | +| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:65:31:65:32 | "" | +| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:66:24:66:37 | ... \|\| ... | +| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:66:37:66:37 | access to parameter b | | Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:66:37:66:37 | access to parameter b | +| Assert.cs:67:9:67:36 | ...; | Assert.cs:63:10:63:11 | enter M9 | +| Assert.cs:67:9:67:36 | ...; | Assert.cs:65:20:65:32 | ... ? ... : ... | +| Assert.cs:67:9:67:36 | ...; | Assert.cs:65:24:65:27 | null | +| Assert.cs:67:9:67:36 | ...; | Assert.cs:65:31:65:32 | "" | +| Assert.cs:67:9:67:36 | ...; | Assert.cs:66:24:66:37 | ... \|\| ... | +| Assert.cs:67:9:67:36 | ...; | Assert.cs:66:37:66:37 | access to parameter b | +| Assert.cs:67:9:67:36 | ...; | Assert.cs:67:9:67:36 | ...; | | Assert.cs:70:10:70:12 | enter M10 | Assert.cs:70:10:70:12 | enter M10 | | Assert.cs:70:10:70:12 | exit M10 | Assert.cs:70:10:70:12 | exit M10 | +| Assert.cs:70:10:70:12 | exit M10 (abnormal) | Assert.cs:70:10:70:12 | exit M10 (abnormal) | | Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:70:10:70:12 | enter M10 | | Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:72:20:72:32 | ... ? ... : ... | | Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:72:24:72:27 | null | | Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:72:31:72:32 | "" | | Assert.cs:72:24:72:27 | null | Assert.cs:72:24:72:27 | null | | Assert.cs:72:31:72:32 | "" | Assert.cs:72:31:72:32 | "" | -| Assert.cs:73:9:73:37 | [assertion failure] call to method IsTrue | Assert.cs:73:9:73:37 | [assertion failure] call to method IsTrue | -| Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | Assert.cs:70:10:70:12 | enter M10 | -| Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | Assert.cs:72:20:72:32 | ... ? ... : ... | -| Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | Assert.cs:72:24:72:27 | null | -| Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | Assert.cs:72:31:72:32 | "" | -| Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | -| Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | Assert.cs:73:23:73:36 | [true] ... && ... | -| Assert.cs:73:9:73:37 | [assertion success] call to method IsTrue | Assert.cs:73:36:73:36 | access to parameter b | -| Assert.cs:73:23:73:36 | [false] ... && ... | Assert.cs:73:23:73:36 | [false] ... && ... | -| Assert.cs:73:23:73:36 | [true] ... && ... | Assert.cs:70:10:70:12 | enter M10 | -| Assert.cs:73:23:73:36 | [true] ... && ... | Assert.cs:72:20:72:32 | ... ? ... : ... | -| Assert.cs:73:23:73:36 | [true] ... && ... | Assert.cs:72:24:72:27 | null | -| Assert.cs:73:23:73:36 | [true] ... && ... | Assert.cs:72:31:72:32 | "" | -| Assert.cs:73:23:73:36 | [true] ... && ... | Assert.cs:73:23:73:36 | [true] ... && ... | -| Assert.cs:73:23:73:36 | [true] ... && ... | Assert.cs:73:36:73:36 | access to parameter b | -| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:70:10:70:12 | enter M10 | -| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:72:20:72:32 | ... ? ... : ... | -| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:72:24:72:27 | null | -| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:72:31:72:32 | "" | +| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:70:10:70:12 | enter M10 | +| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:72:20:72:32 | ... ? ... : ... | +| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:72:24:72:27 | null | +| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:72:31:72:32 | "" | +| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:73:23:73:36 | ... && ... | +| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:73:36:73:36 | access to parameter b | | Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:73:36:73:36 | access to parameter b | +| Assert.cs:74:9:74:36 | ...; | Assert.cs:70:10:70:12 | enter M10 | +| Assert.cs:74:9:74:36 | ...; | Assert.cs:72:20:72:32 | ... ? ... : ... | +| Assert.cs:74:9:74:36 | ...; | Assert.cs:72:24:72:27 | null | +| Assert.cs:74:9:74:36 | ...; | Assert.cs:72:31:72:32 | "" | +| Assert.cs:74:9:74:36 | ...; | Assert.cs:73:23:73:36 | ... && ... | +| Assert.cs:74:9:74:36 | ...; | Assert.cs:73:36:73:36 | access to parameter b | +| Assert.cs:74:9:74:36 | ...; | Assert.cs:74:9:74:36 | ...; | | Assert.cs:77:10:77:12 | enter M11 | Assert.cs:77:10:77:12 | enter M11 | | Assert.cs:77:10:77:12 | exit M11 | Assert.cs:77:10:77:12 | exit M11 | +| Assert.cs:77:10:77:12 | exit M11 (abnormal) | Assert.cs:77:10:77:12 | exit M11 (abnormal) | | Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:77:10:77:12 | enter M11 | | Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:79:20:79:32 | ... ? ... : ... | | Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:79:24:79:27 | null | | Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:79:31:79:32 | "" | | Assert.cs:79:24:79:27 | null | Assert.cs:79:24:79:27 | null | | Assert.cs:79:31:79:32 | "" | Assert.cs:79:31:79:32 | "" | -| Assert.cs:80:9:80:38 | [assertion failure] call to method IsFalse | Assert.cs:80:9:80:38 | [assertion failure] call to method IsFalse | -| Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | Assert.cs:77:10:77:12 | enter M11 | -| Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | Assert.cs:79:20:79:32 | ... ? ... : ... | -| Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | Assert.cs:79:24:79:27 | null | -| Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | Assert.cs:79:31:79:32 | "" | -| Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | -| Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | Assert.cs:80:24:80:37 | [false] ... \|\| ... | -| Assert.cs:80:9:80:38 | [assertion success] call to method IsFalse | Assert.cs:80:37:80:37 | access to parameter b | -| Assert.cs:80:24:80:37 | [false] ... \|\| ... | Assert.cs:77:10:77:12 | enter M11 | -| Assert.cs:80:24:80:37 | [false] ... \|\| ... | Assert.cs:79:20:79:32 | ... ? ... : ... | -| Assert.cs:80:24:80:37 | [false] ... \|\| ... | Assert.cs:79:24:79:27 | null | -| Assert.cs:80:24:80:37 | [false] ... \|\| ... | Assert.cs:79:31:79:32 | "" | -| Assert.cs:80:24:80:37 | [false] ... \|\| ... | Assert.cs:80:24:80:37 | [false] ... \|\| ... | -| Assert.cs:80:24:80:37 | [false] ... \|\| ... | Assert.cs:80:37:80:37 | access to parameter b | -| Assert.cs:80:24:80:37 | [true] ... \|\| ... | Assert.cs:80:24:80:37 | [true] ... \|\| ... | -| Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:77:10:77:12 | enter M11 | -| Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:79:20:79:32 | ... ? ... : ... | -| Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:79:24:79:27 | null | -| Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:79:31:79:32 | "" | +| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:77:10:77:12 | enter M11 | +| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:79:20:79:32 | ... ? ... : ... | +| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:79:24:79:27 | null | +| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:79:31:79:32 | "" | +| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:80:24:80:37 | ... \|\| ... | +| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:80:37:80:37 | access to parameter b | | Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:80:37:80:37 | access to parameter b | +| Assert.cs:81:9:81:36 | ...; | Assert.cs:77:10:77:12 | enter M11 | +| Assert.cs:81:9:81:36 | ...; | Assert.cs:79:20:79:32 | ... ? ... : ... | +| Assert.cs:81:9:81:36 | ...; | Assert.cs:79:24:79:27 | null | +| Assert.cs:81:9:81:36 | ...; | Assert.cs:79:31:79:32 | "" | +| Assert.cs:81:9:81:36 | ...; | Assert.cs:80:24:80:37 | ... \|\| ... | +| Assert.cs:81:9:81:36 | ...; | Assert.cs:80:37:80:37 | access to parameter b | +| Assert.cs:81:9:81:36 | ...; | Assert.cs:81:9:81:36 | ...; | | Assert.cs:84:10:84:12 | enter M12 | Assert.cs:84:10:84:12 | enter M12 | | Assert.cs:84:10:84:12 | exit M12 | Assert.cs:84:10:84:12 | exit M12 | | Assert.cs:84:10:84:12 | exit M12 (abnormal) | Assert.cs:84:10:84:12 | exit M12 (abnormal) | @@ -12032,1067 +11512,775 @@ postBlockDominance | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:86:31:86:32 | "" | | Assert.cs:86:24:86:27 | null | Assert.cs:86:24:86:27 | null | | Assert.cs:86:31:86:32 | "" | Assert.cs:86:31:86:32 | "" | -| Assert.cs:87:9:87:31 | [assertion failure] call to method Assert | Assert.cs:87:9:87:31 | [assertion failure] call to method Assert | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:84:10:84:12 | enter M12 | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:86:20:86:32 | ... ? ... : ... | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:86:24:86:27 | null | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:86:31:86:32 | "" | -| Assert.cs:87:9:87:31 | [assertion success] call to method Assert | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:84:10:84:12 | enter M12 | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:86:20:86:32 | ... ? ... : ... | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:86:24:86:27 | null | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:86:31:86:32 | "" | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:88:9:88:36 | ...; | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | enter M12 | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:86:20:86:32 | ... ? ... : ... | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:86:24:86:27 | null | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:86:31:86:32 | "" | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | +| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:88:9:88:36 | ...; | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:90:13:90:25 | ... ? ... : ... | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:90:17:90:20 | null | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:90:24:90:25 | "" | | Assert.cs:90:17:90:20 | null | Assert.cs:90:17:90:20 | null | | Assert.cs:90:24:90:25 | "" | Assert.cs:90:24:90:25 | "" | -| Assert.cs:91:9:91:24 | [assertion failure] call to method IsNull | Assert.cs:91:9:91:24 | [assertion failure] call to method IsNull | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:84:10:84:12 | enter M12 | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:86:20:86:32 | ... ? ... : ... | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:86:24:86:27 | null | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:86:31:86:32 | "" | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:90:13:90:25 | ... ? ... : ... | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:90:17:90:20 | null | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:90:24:90:25 | "" | -| Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:84:10:84:12 | enter M12 | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:86:20:86:32 | ... ? ... : ... | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:86:24:86:27 | null | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:86:31:86:32 | "" | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:88:9:88:36 | ...; | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:90:13:90:25 | ... ? ... : ... | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:90:17:90:20 | null | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:90:24:90:25 | "" | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:92:9:92:36 | ...; | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | enter M12 | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:86:20:86:32 | ... ? ... : ... | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:86:24:86:27 | null | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:86:31:86:32 | "" | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | +| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:88:9:88:36 | ...; | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:90:13:90:25 | ... ? ... : ... | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:90:17:90:20 | null | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:90:24:90:25 | "" | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | +| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:92:9:92:36 | ...; | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:94:13:94:25 | ... ? ... : ... | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:94:17:94:20 | null | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:94:24:94:25 | "" | | Assert.cs:94:17:94:20 | null | Assert.cs:94:17:94:20 | null | | Assert.cs:94:24:94:25 | "" | Assert.cs:94:24:94:25 | "" | -| Assert.cs:95:9:95:27 | [assertion failure] call to method IsNotNull | Assert.cs:95:9:95:27 | [assertion failure] call to method IsNotNull | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:84:10:84:12 | enter M12 | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:86:20:86:32 | ... ? ... : ... | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:86:24:86:27 | null | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:86:31:86:32 | "" | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:90:13:90:25 | ... ? ... : ... | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:90:17:90:20 | null | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:90:24:90:25 | "" | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:94:13:94:25 | ... ? ... : ... | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:94:17:94:20 | null | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:94:24:94:25 | "" | -| Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:84:10:84:12 | enter M12 | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:86:20:86:32 | ... ? ... : ... | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:86:24:86:27 | null | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:86:31:86:32 | "" | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:88:9:88:36 | ...; | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:90:13:90:25 | ... ? ... : ... | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:90:17:90:20 | null | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:90:24:90:25 | "" | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:92:9:92:36 | ...; | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:94:13:94:25 | ... ? ... : ... | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:94:17:94:20 | null | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:94:24:94:25 | "" | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:96:9:96:36 | ...; | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | enter M12 | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:86:20:86:32 | ... ? ... : ... | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:86:24:86:27 | null | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:86:31:86:32 | "" | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | +| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:88:9:88:36 | ...; | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:90:13:90:25 | ... ? ... : ... | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:90:17:90:20 | null | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:90:24:90:25 | "" | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | +| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:92:9:92:36 | ...; | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:94:13:94:25 | ... ? ... : ... | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:94:17:94:20 | null | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:94:24:94:25 | "" | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | +| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:96:9:96:36 | ...; | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:98:13:98:25 | ... ? ... : ... | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:98:17:98:20 | null | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:98:24:98:25 | "" | | Assert.cs:98:17:98:20 | null | Assert.cs:98:17:98:20 | null | | Assert.cs:98:24:98:25 | "" | Assert.cs:98:24:98:25 | "" | -| Assert.cs:99:9:99:32 | [assertion failure] call to method IsTrue | Assert.cs:99:9:99:32 | [assertion failure] call to method IsTrue | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:84:10:84:12 | enter M12 | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:86:20:86:32 | ... ? ... : ... | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:86:24:86:27 | null | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:86:31:86:32 | "" | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:90:13:90:25 | ... ? ... : ... | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:90:17:90:20 | null | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:90:24:90:25 | "" | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:94:13:94:25 | ... ? ... : ... | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:94:17:94:20 | null | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:94:24:94:25 | "" | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:98:13:98:25 | ... ? ... : ... | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:98:17:98:20 | null | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:98:24:98:25 | "" | -| Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:84:10:84:12 | enter M12 | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:86:20:86:32 | ... ? ... : ... | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:86:24:86:27 | null | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:86:31:86:32 | "" | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:88:9:88:36 | ...; | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:90:13:90:25 | ... ? ... : ... | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:90:17:90:20 | null | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:90:24:90:25 | "" | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:92:9:92:36 | ...; | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:94:13:94:25 | ... ? ... : ... | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:94:17:94:20 | null | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:94:24:94:25 | "" | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:96:9:96:36 | ...; | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:98:13:98:25 | ... ? ... : ... | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:98:17:98:20 | null | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:98:24:98:25 | "" | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:100:9:100:36 | ...; | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | enter M12 | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:86:20:86:32 | ... ? ... : ... | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:86:24:86:27 | null | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:86:31:86:32 | "" | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | +| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:88:9:88:36 | ...; | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:90:13:90:25 | ... ? ... : ... | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:90:17:90:20 | null | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:90:24:90:25 | "" | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | +| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:92:9:92:36 | ...; | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:94:13:94:25 | ... ? ... : ... | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:94:17:94:20 | null | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:94:24:94:25 | "" | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | +| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:96:9:96:36 | ...; | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:98:13:98:25 | ... ? ... : ... | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:98:17:98:20 | null | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:98:24:98:25 | "" | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | +| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:100:9:100:36 | ...; | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:102:13:102:25 | ... ? ... : ... | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:102:17:102:20 | null | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:102:24:102:25 | "" | | Assert.cs:102:17:102:20 | null | Assert.cs:102:17:102:20 | null | | Assert.cs:102:24:102:25 | "" | Assert.cs:102:24:102:25 | "" | -| Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | Assert.cs:103:9:103:32 | [assertion failure] call to method IsTrue | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:84:10:84:12 | enter M12 | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:86:20:86:32 | ... ? ... : ... | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:86:24:86:27 | null | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:86:31:86:32 | "" | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:90:13:90:25 | ... ? ... : ... | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:90:17:90:20 | null | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:90:24:90:25 | "" | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:94:13:94:25 | ... ? ... : ... | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:94:17:94:20 | null | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:94:24:94:25 | "" | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:98:13:98:25 | ... ? ... : ... | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:98:17:98:20 | null | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:98:24:98:25 | "" | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:102:13:102:25 | ... ? ... : ... | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:102:17:102:20 | null | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:102:24:102:25 | "" | -| Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:84:10:84:12 | enter M12 | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:86:20:86:32 | ... ? ... : ... | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:86:24:86:27 | null | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:86:31:86:32 | "" | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:88:9:88:36 | ...; | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:90:13:90:25 | ... ? ... : ... | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:90:17:90:20 | null | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:90:24:90:25 | "" | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:92:9:92:36 | ...; | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:94:13:94:25 | ... ? ... : ... | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:94:17:94:20 | null | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:94:24:94:25 | "" | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:96:9:96:36 | ...; | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:98:13:98:25 | ... ? ... : ... | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:98:17:98:20 | null | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:98:24:98:25 | "" | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:100:9:100:36 | ...; | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:102:13:102:25 | ... ? ... : ... | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:102:17:102:20 | null | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:102:24:102:25 | "" | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:104:9:104:36 | ...; | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | enter M12 | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:86:20:86:32 | ... ? ... : ... | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:86:24:86:27 | null | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:86:31:86:32 | "" | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | +| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:88:9:88:36 | ...; | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:90:13:90:25 | ... ? ... : ... | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:90:17:90:20 | null | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:90:24:90:25 | "" | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | +| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:92:9:92:36 | ...; | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:94:13:94:25 | ... ? ... : ... | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:94:17:94:20 | null | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:94:24:94:25 | "" | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | +| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:96:9:96:36 | ...; | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:98:13:98:25 | ... ? ... : ... | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:98:17:98:20 | null | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:98:24:98:25 | "" | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | +| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:100:9:100:36 | ...; | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:102:13:102:25 | ... ? ... : ... | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:102:17:102:20 | null | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:102:24:102:25 | "" | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | +| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:104:9:104:36 | ...; | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:106:13:106:25 | ... ? ... : ... | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:106:17:106:20 | null | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:106:24:106:25 | "" | | Assert.cs:106:17:106:20 | null | Assert.cs:106:17:106:20 | null | | Assert.cs:106:24:106:25 | "" | Assert.cs:106:24:106:25 | "" | -| Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | Assert.cs:107:9:107:33 | [assertion failure] call to method IsFalse | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:84:10:84:12 | enter M12 | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:86:20:86:32 | ... ? ... : ... | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:86:24:86:27 | null | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:86:31:86:32 | "" | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:90:13:90:25 | ... ? ... : ... | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:90:17:90:20 | null | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:90:24:90:25 | "" | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:94:13:94:25 | ... ? ... : ... | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:94:17:94:20 | null | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:94:24:94:25 | "" | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:98:13:98:25 | ... ? ... : ... | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:98:17:98:20 | null | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:98:24:98:25 | "" | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:102:13:102:25 | ... ? ... : ... | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:102:17:102:20 | null | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:102:24:102:25 | "" | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:106:13:106:25 | ... ? ... : ... | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:106:17:106:20 | null | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:106:24:106:25 | "" | -| Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:84:10:84:12 | enter M12 | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:86:20:86:32 | ... ? ... : ... | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:86:24:86:27 | null | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:86:31:86:32 | "" | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:88:9:88:36 | ...; | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:90:13:90:25 | ... ? ... : ... | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:90:17:90:20 | null | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:90:24:90:25 | "" | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:92:9:92:36 | ...; | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:94:13:94:25 | ... ? ... : ... | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:94:17:94:20 | null | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:94:24:94:25 | "" | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:96:9:96:36 | ...; | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:98:13:98:25 | ... ? ... : ... | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:98:17:98:20 | null | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:98:24:98:25 | "" | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:100:9:100:36 | ...; | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:102:13:102:25 | ... ? ... : ... | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:102:17:102:20 | null | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:102:24:102:25 | "" | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:104:9:104:36 | ...; | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:106:13:106:25 | ... ? ... : ... | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:106:17:106:20 | null | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:106:24:106:25 | "" | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:108:9:108:36 | ...; | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | enter M12 | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:86:20:86:32 | ... ? ... : ... | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:86:24:86:27 | null | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:86:31:86:32 | "" | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | +| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:88:9:88:36 | ...; | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:90:13:90:25 | ... ? ... : ... | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:90:17:90:20 | null | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:90:24:90:25 | "" | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | +| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:92:9:92:36 | ...; | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:94:13:94:25 | ... ? ... : ... | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:94:17:94:20 | null | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:94:24:94:25 | "" | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | +| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:96:9:96:36 | ...; | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:98:13:98:25 | ... ? ... : ... | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:98:17:98:20 | null | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:98:24:98:25 | "" | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | +| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:100:9:100:36 | ...; | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:102:13:102:25 | ... ? ... : ... | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:102:17:102:20 | null | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:102:24:102:25 | "" | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | +| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:104:9:104:36 | ...; | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:106:13:106:25 | ... ? ... : ... | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:106:17:106:20 | null | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:106:24:106:25 | "" | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | +| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:108:9:108:36 | ...; | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:110:13:110:25 | ... ? ... : ... | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:110:17:110:20 | null | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:110:24:110:25 | "" | | Assert.cs:110:17:110:20 | null | Assert.cs:110:17:110:20 | null | | Assert.cs:110:24:110:25 | "" | Assert.cs:110:24:110:25 | "" | -| Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | Assert.cs:111:9:111:33 | [assertion failure] call to method IsFalse | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:84:10:84:12 | enter M12 | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:86:20:86:32 | ... ? ... : ... | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:86:24:86:27 | null | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:86:31:86:32 | "" | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:90:13:90:25 | ... ? ... : ... | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:90:17:90:20 | null | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:90:24:90:25 | "" | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:94:13:94:25 | ... ? ... : ... | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:94:17:94:20 | null | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:94:24:94:25 | "" | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:98:13:98:25 | ... ? ... : ... | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:98:17:98:20 | null | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:98:24:98:25 | "" | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:102:13:102:25 | ... ? ... : ... | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:102:17:102:20 | null | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:102:24:102:25 | "" | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:106:13:106:25 | ... ? ... : ... | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:106:17:106:20 | null | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:106:24:106:25 | "" | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:110:13:110:25 | ... ? ... : ... | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:110:17:110:20 | null | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:110:24:110:25 | "" | -| Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:84:10:84:12 | enter M12 | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:86:20:86:32 | ... ? ... : ... | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:86:24:86:27 | null | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:86:31:86:32 | "" | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:88:9:88:36 | ...; | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:90:13:90:25 | ... ? ... : ... | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:90:17:90:20 | null | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:90:24:90:25 | "" | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:92:9:92:36 | ...; | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:94:13:94:25 | ... ? ... : ... | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:94:17:94:20 | null | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:94:24:94:25 | "" | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:96:9:96:36 | ...; | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:98:13:98:25 | ... ? ... : ... | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:98:17:98:20 | null | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:98:24:98:25 | "" | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:100:9:100:36 | ...; | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:102:13:102:25 | ... ? ... : ... | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:102:17:102:20 | null | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:102:24:102:25 | "" | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:104:9:104:36 | ...; | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:106:13:106:25 | ... ? ... : ... | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:106:17:106:20 | null | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:106:24:106:25 | "" | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:108:9:108:36 | ...; | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:110:13:110:25 | ... ? ... : ... | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:110:17:110:20 | null | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:110:24:110:25 | "" | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:112:9:112:36 | ...; | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | enter M12 | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:86:20:86:32 | ... ? ... : ... | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:86:24:86:27 | null | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:86:31:86:32 | "" | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | +| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:88:9:88:36 | ...; | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:90:13:90:25 | ... ? ... : ... | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:90:17:90:20 | null | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:90:24:90:25 | "" | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | +| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:92:9:92:36 | ...; | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:94:13:94:25 | ... ? ... : ... | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:94:17:94:20 | null | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:94:24:94:25 | "" | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | +| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:96:9:96:36 | ...; | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:98:13:98:25 | ... ? ... : ... | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:98:17:98:20 | null | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:98:24:98:25 | "" | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | +| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:100:9:100:36 | ...; | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:102:13:102:25 | ... ? ... : ... | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:102:17:102:20 | null | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:102:24:102:25 | "" | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | +| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:104:9:104:36 | ...; | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:106:13:106:25 | ... ? ... : ... | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:106:17:106:20 | null | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:106:24:106:25 | "" | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | +| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:108:9:108:36 | ...; | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:110:13:110:25 | ... ? ... : ... | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:110:17:110:20 | null | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:110:24:110:25 | "" | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | +| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:112:9:112:36 | ...; | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:114:13:114:25 | ... ? ... : ... | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:114:17:114:20 | null | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:114:24:114:25 | "" | | Assert.cs:114:17:114:20 | null | Assert.cs:114:17:114:20 | null | | Assert.cs:114:24:114:25 | "" | Assert.cs:114:24:114:25 | "" | -| Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | Assert.cs:115:9:115:37 | [assertion failure] call to method IsTrue | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:84:10:84:12 | enter M12 | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:86:20:86:32 | ... ? ... : ... | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:86:24:86:27 | null | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:86:31:86:32 | "" | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:90:13:90:25 | ... ? ... : ... | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:90:17:90:20 | null | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:90:24:90:25 | "" | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:94:13:94:25 | ... ? ... : ... | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:94:17:94:20 | null | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:94:24:94:25 | "" | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:98:13:98:25 | ... ? ... : ... | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:98:17:98:20 | null | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:98:24:98:25 | "" | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:102:13:102:25 | ... ? ... : ... | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:102:17:102:20 | null | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:102:24:102:25 | "" | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:106:13:106:25 | ... ? ... : ... | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:106:17:106:20 | null | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:106:24:106:25 | "" | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:110:13:110:25 | ... ? ... : ... | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:110:17:110:20 | null | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:110:24:110:25 | "" | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:114:13:114:25 | ... ? ... : ... | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:114:17:114:20 | null | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:114:24:114:25 | "" | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:115:23:115:36 | [true] ... && ... | -| Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | Assert.cs:115:36:115:36 | access to parameter b | -| Assert.cs:115:23:115:36 | [false] ... && ... | Assert.cs:115:23:115:36 | [false] ... && ... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:84:10:84:12 | enter M12 | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:86:20:86:32 | ... ? ... : ... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:86:24:86:27 | null | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:86:31:86:32 | "" | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:90:13:90:25 | ... ? ... : ... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:90:17:90:20 | null | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:90:24:90:25 | "" | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:94:13:94:25 | ... ? ... : ... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:94:17:94:20 | null | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:94:24:94:25 | "" | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:98:13:98:25 | ... ? ... : ... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:98:17:98:20 | null | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:98:24:98:25 | "" | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:102:13:102:25 | ... ? ... : ... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:102:17:102:20 | null | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:102:24:102:25 | "" | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:106:13:106:25 | ... ? ... : ... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:106:17:106:20 | null | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:106:24:106:25 | "" | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:110:13:110:25 | ... ? ... : ... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:110:17:110:20 | null | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:110:24:110:25 | "" | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:114:13:114:25 | ... ? ... : ... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:114:17:114:20 | null | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:114:24:114:25 | "" | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:115:23:115:36 | [true] ... && ... | -| Assert.cs:115:23:115:36 | [true] ... && ... | Assert.cs:115:36:115:36 | access to parameter b | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:84:10:84:12 | enter M12 | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:86:20:86:32 | ... ? ... : ... | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:86:24:86:27 | null | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:86:31:86:32 | "" | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:90:13:90:25 | ... ? ... : ... | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:90:17:90:20 | null | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:90:24:90:25 | "" | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:94:13:94:25 | ... ? ... : ... | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:94:17:94:20 | null | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:94:24:94:25 | "" | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:98:13:98:25 | ... ? ... : ... | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:98:17:98:20 | null | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:98:24:98:25 | "" | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:102:13:102:25 | ... ? ... : ... | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:102:17:102:20 | null | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:102:24:102:25 | "" | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:106:13:106:25 | ... ? ... : ... | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:106:17:106:20 | null | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:106:24:106:25 | "" | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:110:13:110:25 | ... ? ... : ... | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:110:17:110:20 | null | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:110:24:110:25 | "" | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:114:13:114:25 | ... ? ... : ... | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:114:17:114:20 | null | -| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:114:24:114:25 | "" | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:84:10:84:12 | enter M12 | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:86:20:86:32 | ... ? ... : ... | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:86:24:86:27 | null | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:86:31:86:32 | "" | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:88:9:88:36 | ...; | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:90:13:90:25 | ... ? ... : ... | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:90:17:90:20 | null | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:90:24:90:25 | "" | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:92:9:92:36 | ...; | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:94:13:94:25 | ... ? ... : ... | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:94:17:94:20 | null | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:94:24:94:25 | "" | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:96:9:96:36 | ...; | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:98:13:98:25 | ... ? ... : ... | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:98:17:98:20 | null | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:98:24:98:25 | "" | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:100:9:100:36 | ...; | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:102:13:102:25 | ... ? ... : ... | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:102:17:102:20 | null | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:102:24:102:25 | "" | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:104:9:104:36 | ...; | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:106:13:106:25 | ... ? ... : ... | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:106:17:106:20 | null | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:106:24:106:25 | "" | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:108:9:108:36 | ...; | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:110:13:110:25 | ... ? ... : ... | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:110:17:110:20 | null | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:110:24:110:25 | "" | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:112:9:112:36 | ...; | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:114:13:114:25 | ... ? ... : ... | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:114:17:114:20 | null | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:114:24:114:25 | "" | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:115:23:115:36 | ... && ... | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:115:36:115:36 | access to parameter b | | Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:84:10:84:12 | enter M12 | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:86:20:86:32 | ... ? ... : ... | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:86:24:86:27 | null | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:86:31:86:32 | "" | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:88:9:88:36 | ...; | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:90:13:90:25 | ... ? ... : ... | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:90:17:90:20 | null | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:90:24:90:25 | "" | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:92:9:92:36 | ...; | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:94:13:94:25 | ... ? ... : ... | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:94:17:94:20 | null | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:94:24:94:25 | "" | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:96:9:96:36 | ...; | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:98:13:98:25 | ... ? ... : ... | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:98:17:98:20 | null | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:98:24:98:25 | "" | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:100:9:100:36 | ...; | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:102:13:102:25 | ... ? ... : ... | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:102:17:102:20 | null | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:102:24:102:25 | "" | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:104:9:104:36 | ...; | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:106:13:106:25 | ... ? ... : ... | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:106:17:106:20 | null | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:106:24:106:25 | "" | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:108:9:108:36 | ...; | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:110:13:110:25 | ... ? ... : ... | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:110:17:110:20 | null | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:110:24:110:25 | "" | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:112:9:112:36 | ...; | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:114:13:114:25 | ... ? ... : ... | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:114:17:114:20 | null | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:114:24:114:25 | "" | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:115:23:115:36 | ... && ... | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:116:9:116:36 | ...; | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | enter M12 | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:86:20:86:32 | ... ? ... : ... | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:86:24:86:27 | null | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:86:31:86:32 | "" | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | +| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:88:9:88:36 | ...; | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:90:13:90:25 | ... ? ... : ... | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:90:17:90:20 | null | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:90:24:90:25 | "" | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | +| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:92:9:92:36 | ...; | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:94:13:94:25 | ... ? ... : ... | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:94:17:94:20 | null | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:94:24:94:25 | "" | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | +| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:96:9:96:36 | ...; | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:98:13:98:25 | ... ? ... : ... | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:98:17:98:20 | null | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:98:24:98:25 | "" | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | +| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:100:9:100:36 | ...; | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:102:13:102:25 | ... ? ... : ... | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:102:17:102:20 | null | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:102:24:102:25 | "" | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | +| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:104:9:104:36 | ...; | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:106:13:106:25 | ... ? ... : ... | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:106:17:106:20 | null | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:106:24:106:25 | "" | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | +| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:108:9:108:36 | ...; | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:110:13:110:25 | ... ? ... : ... | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:110:17:110:20 | null | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:110:24:110:25 | "" | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | +| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:112:9:112:36 | ...; | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:114:13:114:25 | ... ? ... : ... | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:114:17:114:20 | null | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:114:24:114:25 | "" | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [true] ... && ... | +| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | ... && ... | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:116:9:116:36 | ...; | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:118:13:118:25 | ... ? ... : ... | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:118:17:118:20 | null | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:118:24:118:25 | "" | | Assert.cs:118:17:118:20 | null | Assert.cs:118:17:118:20 | null | | Assert.cs:118:24:118:25 | "" | Assert.cs:118:24:118:25 | "" | -| Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | Assert.cs:119:9:119:39 | [assertion failure] call to method IsFalse | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:84:10:84:12 | enter M12 | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:86:20:86:32 | ... ? ... : ... | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:86:24:86:27 | null | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:86:31:86:32 | "" | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:90:13:90:25 | ... ? ... : ... | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:90:17:90:20 | null | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:90:24:90:25 | "" | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:94:13:94:25 | ... ? ... : ... | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:94:17:94:20 | null | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:94:24:94:25 | "" | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:98:13:98:25 | ... ? ... : ... | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:98:17:98:20 | null | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:98:24:98:25 | "" | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:102:13:102:25 | ... ? ... : ... | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:102:17:102:20 | null | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:102:24:102:25 | "" | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:106:13:106:25 | ... ? ... : ... | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:106:17:106:20 | null | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:106:24:106:25 | "" | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:110:13:110:25 | ... ? ... : ... | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:110:17:110:20 | null | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:110:24:110:25 | "" | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:114:13:114:25 | ... ? ... : ... | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:114:17:114:20 | null | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:114:24:114:25 | "" | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:115:23:115:36 | [true] ... && ... | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:115:36:115:36 | access to parameter b | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:118:13:118:25 | ... ? ... : ... | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:118:17:118:20 | null | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:118:24:118:25 | "" | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | Assert.cs:119:38:119:38 | access to parameter b | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:84:10:84:12 | enter M12 | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:86:20:86:32 | ... ? ... : ... | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:86:24:86:27 | null | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:86:31:86:32 | "" | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:90:13:90:25 | ... ? ... : ... | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:90:17:90:20 | null | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:90:24:90:25 | "" | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:94:13:94:25 | ... ? ... : ... | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:94:17:94:20 | null | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:94:24:94:25 | "" | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:98:13:98:25 | ... ? ... : ... | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:98:17:98:20 | null | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:98:24:98:25 | "" | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:102:13:102:25 | ... ? ... : ... | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:102:17:102:20 | null | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:102:24:102:25 | "" | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:106:13:106:25 | ... ? ... : ... | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:106:17:106:20 | null | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:106:24:106:25 | "" | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:110:13:110:25 | ... ? ... : ... | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:110:17:110:20 | null | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:110:24:110:25 | "" | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:114:13:114:25 | ... ? ... : ... | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:114:17:114:20 | null | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:114:24:114:25 | "" | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:115:23:115:36 | [true] ... && ... | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:115:36:115:36 | access to parameter b | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:118:13:118:25 | ... ? ... : ... | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:118:17:118:20 | null | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:118:24:118:25 | "" | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:119:24:119:38 | [false] ... \|\| ... | Assert.cs:119:38:119:38 | access to parameter b | -| Assert.cs:119:24:119:38 | [true] ... \|\| ... | Assert.cs:119:24:119:38 | [true] ... \|\| ... | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:84:10:84:12 | enter M12 | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:86:20:86:32 | ... ? ... : ... | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:86:24:86:27 | null | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:86:31:86:32 | "" | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:90:13:90:25 | ... ? ... : ... | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:90:17:90:20 | null | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:90:24:90:25 | "" | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:94:13:94:25 | ... ? ... : ... | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:94:17:94:20 | null | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:94:24:94:25 | "" | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:98:13:98:25 | ... ? ... : ... | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:98:17:98:20 | null | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:98:24:98:25 | "" | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:102:13:102:25 | ... ? ... : ... | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:102:17:102:20 | null | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:102:24:102:25 | "" | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:106:13:106:25 | ... ? ... : ... | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:106:17:106:20 | null | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:106:24:106:25 | "" | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:110:13:110:25 | ... ? ... : ... | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:110:17:110:20 | null | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:110:24:110:25 | "" | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:114:13:114:25 | ... ? ... : ... | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:114:17:114:20 | null | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:114:24:114:25 | "" | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:115:23:115:36 | [true] ... && ... | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:115:36:115:36 | access to parameter b | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:118:13:118:25 | ... ? ... : ... | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:118:17:118:20 | null | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:118:24:118:25 | "" | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:119:37:119:38 | [false] !... | Assert.cs:119:38:119:38 | access to parameter b | -| Assert.cs:119:37:119:38 | [true] !... | Assert.cs:119:37:119:38 | [true] !... | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:84:10:84:12 | enter M12 | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:86:20:86:32 | ... ? ... : ... | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:86:24:86:27 | null | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:86:31:86:32 | "" | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:90:13:90:25 | ... ? ... : ... | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:90:17:90:20 | null | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:90:24:90:25 | "" | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:94:13:94:25 | ... ? ... : ... | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:94:17:94:20 | null | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:94:24:94:25 | "" | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:98:13:98:25 | ... ? ... : ... | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:98:17:98:20 | null | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:98:24:98:25 | "" | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:102:13:102:25 | ... ? ... : ... | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:102:17:102:20 | null | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:102:24:102:25 | "" | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:106:13:106:25 | ... ? ... : ... | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:106:17:106:20 | null | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:106:24:106:25 | "" | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:110:13:110:25 | ... ? ... : ... | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:110:17:110:20 | null | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:110:24:110:25 | "" | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:114:13:114:25 | ... ? ... : ... | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:114:17:114:20 | null | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:114:24:114:25 | "" | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:115:23:115:36 | [true] ... && ... | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:115:36:115:36 | access to parameter b | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:118:13:118:25 | ... ? ... : ... | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:118:17:118:20 | null | -| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:118:24:118:25 | "" | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:84:10:84:12 | enter M12 | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:86:20:86:32 | ... ? ... : ... | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:86:24:86:27 | null | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:86:31:86:32 | "" | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:88:9:88:36 | ...; | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:90:13:90:25 | ... ? ... : ... | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:90:17:90:20 | null | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:90:24:90:25 | "" | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:92:9:92:36 | ...; | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:94:13:94:25 | ... ? ... : ... | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:94:17:94:20 | null | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:94:24:94:25 | "" | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:96:9:96:36 | ...; | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:98:13:98:25 | ... ? ... : ... | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:98:17:98:20 | null | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:98:24:98:25 | "" | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:100:9:100:36 | ...; | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:102:13:102:25 | ... ? ... : ... | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:102:17:102:20 | null | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:102:24:102:25 | "" | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:104:9:104:36 | ...; | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:106:13:106:25 | ... ? ... : ... | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:106:17:106:20 | null | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:106:24:106:25 | "" | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:108:9:108:36 | ...; | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:110:13:110:25 | ... ? ... : ... | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:110:17:110:20 | null | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:110:24:110:25 | "" | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:112:9:112:36 | ...; | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:114:13:114:25 | ... ? ... : ... | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:114:17:114:20 | null | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:114:24:114:25 | "" | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:115:23:115:36 | ... && ... | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:116:9:116:36 | ...; | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:118:13:118:25 | ... ? ... : ... | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:118:17:118:20 | null | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:118:24:118:25 | "" | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:119:24:119:38 | ... \|\| ... | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:119:38:119:38 | access to parameter b | | Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:84:10:84:12 | enter M12 | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:86:20:86:32 | ... ? ... : ... | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:86:24:86:27 | null | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:86:31:86:32 | "" | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:88:9:88:36 | ...; | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:90:13:90:25 | ... ? ... : ... | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:90:17:90:20 | null | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:90:24:90:25 | "" | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:92:9:92:36 | ...; | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:94:13:94:25 | ... ? ... : ... | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:94:17:94:20 | null | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:94:24:94:25 | "" | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:96:9:96:36 | ...; | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:98:13:98:25 | ... ? ... : ... | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:98:17:98:20 | null | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:98:24:98:25 | "" | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:100:9:100:36 | ...; | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:102:13:102:25 | ... ? ... : ... | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:102:17:102:20 | null | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:102:24:102:25 | "" | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:104:9:104:36 | ...; | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:106:13:106:25 | ... ? ... : ... | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:106:17:106:20 | null | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:106:24:106:25 | "" | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:108:9:108:36 | ...; | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:110:13:110:25 | ... ? ... : ... | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:110:17:110:20 | null | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:110:24:110:25 | "" | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:112:9:112:36 | ...; | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:114:13:114:25 | ... ? ... : ... | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:114:17:114:20 | null | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:114:24:114:25 | "" | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:115:23:115:36 | ... && ... | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:116:9:116:36 | ...; | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:118:13:118:25 | ... ? ... : ... | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:118:17:118:20 | null | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:118:24:118:25 | "" | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:119:24:119:38 | ... \|\| ... | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:120:9:120:36 | ...; | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | enter M12 | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:86:20:86:32 | ... ? ... : ... | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:86:24:86:27 | null | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:86:31:86:32 | "" | -| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | +| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:88:9:88:36 | ...; | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:90:13:90:25 | ... ? ... : ... | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:90:17:90:20 | null | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:90:24:90:25 | "" | -| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | +| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:92:9:92:36 | ...; | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:94:13:94:25 | ... ? ... : ... | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:94:17:94:20 | null | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:94:24:94:25 | "" | -| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | +| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:96:9:96:36 | ...; | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:98:13:98:25 | ... ? ... : ... | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:98:17:98:20 | null | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:98:24:98:25 | "" | -| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | +| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:100:9:100:36 | ...; | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:102:13:102:25 | ... ? ... : ... | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:102:17:102:20 | null | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:102:24:102:25 | "" | -| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | +| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:104:9:104:36 | ...; | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:106:13:106:25 | ... ? ... : ... | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:106:17:106:20 | null | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:106:24:106:25 | "" | -| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | +| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:108:9:108:36 | ...; | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:110:13:110:25 | ... ? ... : ... | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:110:17:110:20 | null | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:110:24:110:25 | "" | -| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | +| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:112:9:112:36 | ...; | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:114:13:114:25 | ... ? ... : ... | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:114:17:114:20 | null | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:114:24:114:25 | "" | -| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [true] ... && ... | +| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | ... && ... | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:116:9:116:36 | ...; | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:118:13:118:25 | ... ? ... : ... | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:118:17:118:20 | null | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:118:24:118:25 | "" | -| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [false] !... | +| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | ... \|\| ... | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:120:9:120:36 | ...; | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:122:13:122:25 | ... ? ... : ... | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:122:17:122:20 | null | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:122:24:122:25 | "" | | Assert.cs:122:17:122:20 | null | Assert.cs:122:17:122:20 | null | | Assert.cs:122:24:122:25 | "" | Assert.cs:122:24:122:25 | "" | -| Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | Assert.cs:123:9:123:37 | [assertion failure] call to method IsTrue | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:84:10:84:12 | enter M12 | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:86:20:86:32 | ... ? ... : ... | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:86:24:86:27 | null | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:86:31:86:32 | "" | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:90:13:90:25 | ... ? ... : ... | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:90:17:90:20 | null | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:90:24:90:25 | "" | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:94:13:94:25 | ... ? ... : ... | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:94:17:94:20 | null | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:94:24:94:25 | "" | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:98:13:98:25 | ... ? ... : ... | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:98:17:98:20 | null | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:98:24:98:25 | "" | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:102:13:102:25 | ... ? ... : ... | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:102:17:102:20 | null | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:102:24:102:25 | "" | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:106:13:106:25 | ... ? ... : ... | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:106:17:106:20 | null | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:106:24:106:25 | "" | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:110:13:110:25 | ... ? ... : ... | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:110:17:110:20 | null | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:110:24:110:25 | "" | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:114:13:114:25 | ... ? ... : ... | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:114:17:114:20 | null | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:114:24:114:25 | "" | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:115:23:115:36 | [true] ... && ... | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:115:36:115:36 | access to parameter b | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:118:13:118:25 | ... ? ... : ... | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:118:17:118:20 | null | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:118:24:118:25 | "" | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:119:38:119:38 | access to parameter b | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:122:13:122:25 | ... ? ... : ... | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:122:17:122:20 | null | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:122:24:122:25 | "" | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:123:23:123:36 | [true] ... && ... | -| Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | Assert.cs:123:36:123:36 | access to parameter b | -| Assert.cs:123:23:123:36 | [false] ... && ... | Assert.cs:123:23:123:36 | [false] ... && ... | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:84:10:84:12 | enter M12 | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:86:20:86:32 | ... ? ... : ... | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:86:24:86:27 | null | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:86:31:86:32 | "" | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:90:13:90:25 | ... ? ... : ... | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:90:17:90:20 | null | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:90:24:90:25 | "" | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:94:13:94:25 | ... ? ... : ... | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:94:17:94:20 | null | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:94:24:94:25 | "" | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:98:13:98:25 | ... ? ... : ... | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:98:17:98:20 | null | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:98:24:98:25 | "" | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:102:13:102:25 | ... ? ... : ... | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:102:17:102:20 | null | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:102:24:102:25 | "" | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:106:13:106:25 | ... ? ... : ... | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:106:17:106:20 | null | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:106:24:106:25 | "" | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:110:13:110:25 | ... ? ... : ... | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:110:17:110:20 | null | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:110:24:110:25 | "" | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:114:13:114:25 | ... ? ... : ... | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:114:17:114:20 | null | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:114:24:114:25 | "" | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:115:23:115:36 | [true] ... && ... | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:115:36:115:36 | access to parameter b | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:118:13:118:25 | ... ? ... : ... | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:118:17:118:20 | null | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:118:24:118:25 | "" | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:119:38:119:38 | access to parameter b | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:122:13:122:25 | ... ? ... : ... | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:122:17:122:20 | null | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:122:24:122:25 | "" | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:123:23:123:36 | [true] ... && ... | -| Assert.cs:123:23:123:36 | [true] ... && ... | Assert.cs:123:36:123:36 | access to parameter b | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:84:10:84:12 | enter M12 | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:86:20:86:32 | ... ? ... : ... | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:86:24:86:27 | null | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:86:31:86:32 | "" | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:90:13:90:25 | ... ? ... : ... | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:90:17:90:20 | null | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:90:24:90:25 | "" | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:94:13:94:25 | ... ? ... : ... | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:94:17:94:20 | null | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:94:24:94:25 | "" | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:98:13:98:25 | ... ? ... : ... | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:98:17:98:20 | null | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:98:24:98:25 | "" | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:102:13:102:25 | ... ? ... : ... | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:102:17:102:20 | null | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:102:24:102:25 | "" | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:106:13:106:25 | ... ? ... : ... | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:106:17:106:20 | null | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:106:24:106:25 | "" | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:110:13:110:25 | ... ? ... : ... | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:110:17:110:20 | null | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:110:24:110:25 | "" | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:114:13:114:25 | ... ? ... : ... | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:114:17:114:20 | null | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:114:24:114:25 | "" | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:115:23:115:36 | [true] ... && ... | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:115:36:115:36 | access to parameter b | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:118:13:118:25 | ... ? ... : ... | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:118:17:118:20 | null | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:118:24:118:25 | "" | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:119:38:119:38 | access to parameter b | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:122:13:122:25 | ... ? ... : ... | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:122:17:122:20 | null | -| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:122:24:122:25 | "" | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:84:10:84:12 | enter M12 | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:86:20:86:32 | ... ? ... : ... | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:86:24:86:27 | null | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:86:31:86:32 | "" | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:88:9:88:36 | ...; | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:90:13:90:25 | ... ? ... : ... | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:90:17:90:20 | null | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:90:24:90:25 | "" | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:92:9:92:36 | ...; | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:94:13:94:25 | ... ? ... : ... | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:94:17:94:20 | null | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:94:24:94:25 | "" | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:96:9:96:36 | ...; | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:98:13:98:25 | ... ? ... : ... | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:98:17:98:20 | null | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:98:24:98:25 | "" | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:100:9:100:36 | ...; | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:102:13:102:25 | ... ? ... : ... | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:102:17:102:20 | null | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:102:24:102:25 | "" | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:104:9:104:36 | ...; | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:106:13:106:25 | ... ? ... : ... | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:106:17:106:20 | null | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:106:24:106:25 | "" | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:108:9:108:36 | ...; | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:110:13:110:25 | ... ? ... : ... | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:110:17:110:20 | null | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:110:24:110:25 | "" | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:112:9:112:36 | ...; | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:114:13:114:25 | ... ? ... : ... | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:114:17:114:20 | null | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:114:24:114:25 | "" | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:115:23:115:36 | ... && ... | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:116:9:116:36 | ...; | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:118:13:118:25 | ... ? ... : ... | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:118:17:118:20 | null | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:118:24:118:25 | "" | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:119:24:119:38 | ... \|\| ... | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:120:9:120:36 | ...; | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:122:13:122:25 | ... ? ... : ... | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:122:17:122:20 | null | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:122:24:122:25 | "" | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:123:23:123:36 | ... && ... | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:123:36:123:36 | access to parameter b | | Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:84:10:84:12 | enter M12 | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:86:20:86:32 | ... ? ... : ... | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:86:24:86:27 | null | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:86:31:86:32 | "" | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:88:9:88:36 | ...; | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:90:13:90:25 | ... ? ... : ... | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:90:17:90:20 | null | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:90:24:90:25 | "" | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:92:9:92:36 | ...; | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:94:13:94:25 | ... ? ... : ... | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:94:17:94:20 | null | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:94:24:94:25 | "" | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:96:9:96:36 | ...; | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:98:13:98:25 | ... ? ... : ... | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:98:17:98:20 | null | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:98:24:98:25 | "" | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:100:9:100:36 | ...; | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:102:13:102:25 | ... ? ... : ... | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:102:17:102:20 | null | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:102:24:102:25 | "" | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:104:9:104:36 | ...; | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:106:13:106:25 | ... ? ... : ... | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:106:17:106:20 | null | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:106:24:106:25 | "" | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:108:9:108:36 | ...; | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:110:13:110:25 | ... ? ... : ... | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:110:17:110:20 | null | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:110:24:110:25 | "" | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:112:9:112:36 | ...; | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:114:13:114:25 | ... ? ... : ... | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:114:17:114:20 | null | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:114:24:114:25 | "" | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:115:23:115:36 | ... && ... | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:116:9:116:36 | ...; | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:118:13:118:25 | ... ? ... : ... | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:118:17:118:20 | null | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:118:24:118:25 | "" | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:119:24:119:38 | ... \|\| ... | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:120:9:120:36 | ...; | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:122:13:122:25 | ... ? ... : ... | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:122:17:122:20 | null | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:122:24:122:25 | "" | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:123:23:123:36 | ... && ... | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:124:9:124:36 | ...; | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | enter M12 | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:86:20:86:32 | ... ? ... : ... | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:86:24:86:27 | null | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:86:31:86:32 | "" | -| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | +| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:88:9:88:36 | ...; | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:90:13:90:25 | ... ? ... : ... | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:90:17:90:20 | null | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:90:24:90:25 | "" | -| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | +| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:92:9:92:36 | ...; | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:94:13:94:25 | ... ? ... : ... | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:94:17:94:20 | null | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:94:24:94:25 | "" | -| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | +| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:96:9:96:36 | ...; | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:98:13:98:25 | ... ? ... : ... | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:98:17:98:20 | null | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:98:24:98:25 | "" | -| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | +| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:100:9:100:36 | ...; | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:102:13:102:25 | ... ? ... : ... | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:102:17:102:20 | null | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:102:24:102:25 | "" | -| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | +| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:104:9:104:36 | ...; | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:106:13:106:25 | ... ? ... : ... | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:106:17:106:20 | null | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:106:24:106:25 | "" | -| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | +| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:108:9:108:36 | ...; | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:110:13:110:25 | ... ? ... : ... | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:110:17:110:20 | null | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:110:24:110:25 | "" | -| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | +| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:112:9:112:36 | ...; | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:114:13:114:25 | ... ? ... : ... | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:114:17:114:20 | null | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:114:24:114:25 | "" | -| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | [true] ... && ... | +| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:115:23:115:36 | ... && ... | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:116:9:116:36 | ...; | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:118:13:118:25 | ... ? ... : ... | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:118:17:118:20 | null | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:118:24:118:25 | "" | -| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:119:37:119:38 | [false] !... | +| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:119:24:119:38 | ... \|\| ... | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:120:9:120:36 | ...; | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:122:13:122:25 | ... ? ... : ... | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:122:17:122:20 | null | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:122:24:122:25 | "" | -| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | [true] ... && ... | +| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:123:23:123:36 | ... && ... | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:124:9:124:36 | ...; | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:126:13:126:25 | ... ? ... : ... | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:126:17:126:20 | null | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:126:24:126:25 | "" | | Assert.cs:126:17:126:20 | null | Assert.cs:126:17:126:20 | null | | Assert.cs:126:24:126:25 | "" | Assert.cs:126:24:126:25 | "" | -| Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | Assert.cs:127:9:127:39 | [assertion failure] call to method IsFalse | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:84:10:84:12 | enter M12 | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:86:20:86:32 | ... ? ... : ... | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:86:24:86:27 | null | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:86:31:86:32 | "" | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:90:13:90:25 | ... ? ... : ... | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:90:17:90:20 | null | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:90:24:90:25 | "" | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:94:13:94:25 | ... ? ... : ... | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:94:17:94:20 | null | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:94:24:94:25 | "" | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:98:13:98:25 | ... ? ... : ... | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:98:17:98:20 | null | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:98:24:98:25 | "" | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:102:13:102:25 | ... ? ... : ... | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:102:17:102:20 | null | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:102:24:102:25 | "" | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:106:13:106:25 | ... ? ... : ... | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:106:17:106:20 | null | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:106:24:106:25 | "" | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:110:13:110:25 | ... ? ... : ... | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:110:17:110:20 | null | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:110:24:110:25 | "" | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:114:13:114:25 | ... ? ... : ... | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:114:17:114:20 | null | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:114:24:114:25 | "" | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:115:23:115:36 | [true] ... && ... | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:115:36:115:36 | access to parameter b | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:118:13:118:25 | ... ? ... : ... | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:118:17:118:20 | null | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:118:24:118:25 | "" | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:119:38:119:38 | access to parameter b | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:122:13:122:25 | ... ? ... : ... | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:122:17:122:20 | null | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:122:24:122:25 | "" | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:123:23:123:36 | [true] ... && ... | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:123:36:123:36 | access to parameter b | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:126:13:126:25 | ... ? ... : ... | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:126:17:126:20 | null | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:126:24:126:25 | "" | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:127:9:127:39 | [assertion success] call to method IsFalse | Assert.cs:127:38:127:38 | access to parameter b | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:84:10:84:12 | enter M12 | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:86:20:86:32 | ... ? ... : ... | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:86:24:86:27 | null | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:86:31:86:32 | "" | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:90:13:90:25 | ... ? ... : ... | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:90:17:90:20 | null | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:90:24:90:25 | "" | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:94:13:94:25 | ... ? ... : ... | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:94:17:94:20 | null | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:94:24:94:25 | "" | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:98:13:98:25 | ... ? ... : ... | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:98:17:98:20 | null | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:98:24:98:25 | "" | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:102:13:102:25 | ... ? ... : ... | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:102:17:102:20 | null | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:102:24:102:25 | "" | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:106:13:106:25 | ... ? ... : ... | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:106:17:106:20 | null | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:106:24:106:25 | "" | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:110:13:110:25 | ... ? ... : ... | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:110:17:110:20 | null | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:110:24:110:25 | "" | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:114:13:114:25 | ... ? ... : ... | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:114:17:114:20 | null | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:114:24:114:25 | "" | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:115:23:115:36 | [true] ... && ... | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:115:36:115:36 | access to parameter b | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:118:13:118:25 | ... ? ... : ... | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:118:17:118:20 | null | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:118:24:118:25 | "" | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:119:38:119:38 | access to parameter b | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:122:13:122:25 | ... ? ... : ... | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:122:17:122:20 | null | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:122:24:122:25 | "" | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:123:23:123:36 | [true] ... && ... | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:123:36:123:36 | access to parameter b | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:126:13:126:25 | ... ? ... : ... | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:126:17:126:20 | null | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:126:24:126:25 | "" | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:127:24:127:38 | [false] ... \|\| ... | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:127:24:127:38 | [false] ... \|\| ... | Assert.cs:127:38:127:38 | access to parameter b | -| Assert.cs:127:24:127:38 | [true] ... \|\| ... | Assert.cs:127:24:127:38 | [true] ... \|\| ... | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:84:10:84:12 | enter M12 | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:86:20:86:32 | ... ? ... : ... | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:86:24:86:27 | null | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:86:31:86:32 | "" | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:90:13:90:25 | ... ? ... : ... | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:90:17:90:20 | null | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:90:24:90:25 | "" | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:94:13:94:25 | ... ? ... : ... | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:94:17:94:20 | null | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:94:24:94:25 | "" | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:98:13:98:25 | ... ? ... : ... | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:98:17:98:20 | null | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:98:24:98:25 | "" | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:102:13:102:25 | ... ? ... : ... | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:102:17:102:20 | null | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:102:24:102:25 | "" | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:106:13:106:25 | ... ? ... : ... | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:106:17:106:20 | null | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:106:24:106:25 | "" | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:110:13:110:25 | ... ? ... : ... | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:110:17:110:20 | null | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:110:24:110:25 | "" | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:114:13:114:25 | ... ? ... : ... | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:114:17:114:20 | null | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:114:24:114:25 | "" | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:115:23:115:36 | [true] ... && ... | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:115:36:115:36 | access to parameter b | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:118:13:118:25 | ... ? ... : ... | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:118:17:118:20 | null | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:118:24:118:25 | "" | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:119:38:119:38 | access to parameter b | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:122:13:122:25 | ... ? ... : ... | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:122:17:122:20 | null | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:122:24:122:25 | "" | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:123:23:123:36 | [true] ... && ... | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:123:36:123:36 | access to parameter b | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:126:13:126:25 | ... ? ... : ... | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:126:17:126:20 | null | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:126:24:126:25 | "" | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:127:37:127:38 | [false] !... | -| Assert.cs:127:37:127:38 | [false] !... | Assert.cs:127:38:127:38 | access to parameter b | -| Assert.cs:127:37:127:38 | [true] !... | Assert.cs:127:37:127:38 | [true] !... | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:84:10:84:12 | enter M12 | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:86:20:86:32 | ... ? ... : ... | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:86:24:86:27 | null | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:86:31:86:32 | "" | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:87:9:87:31 | [assertion success] call to method Assert | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:90:13:90:25 | ... ? ... : ... | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:90:17:90:20 | null | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:90:24:90:25 | "" | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:91:9:91:24 | [assertion success] call to method IsNull | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:94:13:94:25 | ... ? ... : ... | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:94:17:94:20 | null | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:94:24:94:25 | "" | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:95:9:95:27 | [assertion success] call to method IsNotNull | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:98:13:98:25 | ... ? ... : ... | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:98:17:98:20 | null | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:98:24:98:25 | "" | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:99:9:99:32 | [assertion success] call to method IsTrue | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:102:13:102:25 | ... ? ... : ... | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:102:17:102:20 | null | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:102:24:102:25 | "" | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:103:9:103:32 | [assertion success] call to method IsTrue | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:106:13:106:25 | ... ? ... : ... | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:106:17:106:20 | null | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:106:24:106:25 | "" | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:107:9:107:33 | [assertion success] call to method IsFalse | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:110:13:110:25 | ... ? ... : ... | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:110:17:110:20 | null | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:110:24:110:25 | "" | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:111:9:111:33 | [assertion success] call to method IsFalse | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:114:13:114:25 | ... ? ... : ... | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:114:17:114:20 | null | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:114:24:114:25 | "" | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:115:9:115:37 | [assertion success] call to method IsTrue | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:115:23:115:36 | [true] ... && ... | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:115:36:115:36 | access to parameter b | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:118:13:118:25 | ... ? ... : ... | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:118:17:118:20 | null | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:118:24:118:25 | "" | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:119:9:119:39 | [assertion success] call to method IsFalse | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:119:24:119:38 | [false] ... \|\| ... | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:119:37:119:38 | [false] !... | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:119:38:119:38 | access to parameter b | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:122:13:122:25 | ... ? ... : ... | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:122:17:122:20 | null | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:122:24:122:25 | "" | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:123:9:123:37 | [assertion success] call to method IsTrue | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:123:23:123:36 | [true] ... && ... | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:123:36:123:36 | access to parameter b | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:126:13:126:25 | ... ? ... : ... | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:126:17:126:20 | null | -| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:126:24:126:25 | "" | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:84:10:84:12 | enter M12 | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:86:20:86:32 | ... ? ... : ... | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:86:24:86:27 | null | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:86:31:86:32 | "" | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:88:9:88:36 | ...; | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:90:13:90:25 | ... ? ... : ... | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:90:17:90:20 | null | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:90:24:90:25 | "" | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:92:9:92:36 | ...; | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:94:13:94:25 | ... ? ... : ... | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:94:17:94:20 | null | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:94:24:94:25 | "" | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:96:9:96:36 | ...; | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:98:13:98:25 | ... ? ... : ... | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:98:17:98:20 | null | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:98:24:98:25 | "" | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:100:9:100:36 | ...; | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:102:13:102:25 | ... ? ... : ... | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:102:17:102:20 | null | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:102:24:102:25 | "" | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:104:9:104:36 | ...; | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:106:13:106:25 | ... ? ... : ... | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:106:17:106:20 | null | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:106:24:106:25 | "" | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:108:9:108:36 | ...; | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:110:13:110:25 | ... ? ... : ... | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:110:17:110:20 | null | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:110:24:110:25 | "" | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:112:9:112:36 | ...; | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:114:13:114:25 | ... ? ... : ... | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:114:17:114:20 | null | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:114:24:114:25 | "" | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:115:23:115:36 | ... && ... | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:116:9:116:36 | ...; | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:118:13:118:25 | ... ? ... : ... | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:118:17:118:20 | null | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:118:24:118:25 | "" | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:119:24:119:38 | ... \|\| ... | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:120:9:120:36 | ...; | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:122:13:122:25 | ... ? ... : ... | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:122:17:122:20 | null | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:122:24:122:25 | "" | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:123:23:123:36 | ... && ... | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:124:9:124:36 | ...; | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:126:13:126:25 | ... ? ... : ... | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:126:17:126:20 | null | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:126:24:126:25 | "" | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:127:24:127:38 | ... \|\| ... | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:127:38:127:38 | access to parameter b | | Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:84:10:84:12 | enter M12 | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:86:20:86:32 | ... ? ... : ... | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:86:24:86:27 | null | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:86:31:86:32 | "" | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:88:9:88:36 | ...; | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:90:13:90:25 | ... ? ... : ... | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:90:17:90:20 | null | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:90:24:90:25 | "" | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:92:9:92:36 | ...; | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:94:13:94:25 | ... ? ... : ... | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:94:17:94:20 | null | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:94:24:94:25 | "" | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:96:9:96:36 | ...; | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:98:13:98:25 | ... ? ... : ... | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:98:17:98:20 | null | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:98:24:98:25 | "" | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:100:9:100:36 | ...; | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:102:13:102:25 | ... ? ... : ... | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:102:17:102:20 | null | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:102:24:102:25 | "" | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:104:9:104:36 | ...; | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:106:13:106:25 | ... ? ... : ... | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:106:17:106:20 | null | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:106:24:106:25 | "" | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:108:9:108:36 | ...; | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:110:13:110:25 | ... ? ... : ... | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:110:17:110:20 | null | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:110:24:110:25 | "" | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:112:9:112:36 | ...; | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:114:13:114:25 | ... ? ... : ... | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:114:17:114:20 | null | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:114:24:114:25 | "" | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:115:23:115:36 | ... && ... | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:116:9:116:36 | ...; | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:118:13:118:25 | ... ? ... : ... | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:118:17:118:20 | null | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:118:24:118:25 | "" | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:119:24:119:38 | ... \|\| ... | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:120:9:120:36 | ...; | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:122:13:122:25 | ... ? ... : ... | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:122:17:122:20 | null | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:122:24:122:25 | "" | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:123:23:123:36 | ... && ... | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:124:9:124:36 | ...; | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:126:13:126:25 | ... ? ... : ... | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:126:17:126:20 | null | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:126:24:126:25 | "" | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:127:24:127:38 | ... \|\| ... | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:128:9:128:36 | ...; | | Assert.cs:131:18:131:32 | enter AssertTrueFalse | Assert.cs:131:18:131:32 | enter AssertTrueFalse | | Assert.cs:138:10:138:12 | enter M13 | Assert.cs:138:10:138:12 | enter M13 | | Assert.cs:138:10:138:12 | exit M13 | Assert.cs:138:10:138:12 | exit M13 | | Assert.cs:138:10:138:12 | exit M13 (abnormal) | Assert.cs:138:10:138:12 | exit M13 (abnormal) | -| Assert.cs:140:29:140:30 | [assertion failure] access to parameter b2 | Assert.cs:140:29:140:30 | [assertion failure] access to parameter b2 | -| Assert.cs:140:29:140:30 | access to parameter b2 | Assert.cs:138:10:138:12 | enter M13 | -| 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 | [assertion failure] access to parameter b3 | Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | -| Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | Assert.cs:140:33:140:34 | [assertion failure] access to parameter b3 | -| Assert.cs:140:33:140:34 | [assertion success] access to parameter b3 | Assert.cs:138:10:138:12 | enter M13 | -| Assert.cs:140:33:140:34 | [assertion success] access to parameter b3 | Assert.cs:140:29:140:30 | access to parameter b2 | -| Assert.cs:140:33:140:34 | [assertion success] access to parameter b3 | Assert.cs:140:33:140:34 | [assertion success] access to parameter b3 | +| Assert.cs:141:9:141:15 | return ...; | Assert.cs:138:10:138:12 | enter M13 | +| Assert.cs:141:9:141:15 | return ...; | Assert.cs:141:9:141:15 | return ...; | | Assignments.cs:1:7:1:17 | enter Assignments | Assignments.cs:1:7:1:17 | enter Assignments | | Assignments.cs:3:10:3:10 | enter M | Assignments.cs:3:10:3:10 | enter M | | Assignments.cs:14:18:14:35 | enter (...) => ... | Assignments.cs:14:18:14:35 | enter (...) => ... | @@ -13534,15 +12722,13 @@ postBlockDominance | ExitMethods.cs:117:34:117:34 | 0 | ExitMethods.cs:117:34:117:34 | 0 | | ExitMethods.cs:117:38:117:38 | 1 | ExitMethods.cs:117:38:117:38 | 1 | | ExitMethods.cs:120:17:120:32 | enter FailingAssertion | ExitMethods.cs:120:17:120:32 | enter FailingAssertion | -| ExitMethods.cs:122:9:122:28 | [assertion failure] call to method IsTrue | ExitMethods.cs:122:9:122:28 | [assertion failure] call to method IsTrue | | ExitMethods.cs:126:17:126:33 | enter FailingAssertion2 | ExitMethods.cs:126:17:126:33 | enter FailingAssertion2 | | ExitMethods.cs:132:10:132:20 | enter AssertFalse | ExitMethods.cs:132:10:132:20 | enter AssertFalse | | ExitMethods.cs:132:10:132:20 | exit AssertFalse | ExitMethods.cs:132:10:132:20 | exit AssertFalse | -| ExitMethods.cs:132:33:132:49 | [assertion failure] call to method IsFalse | ExitMethods.cs:132:33:132:49 | [assertion failure] call to method IsFalse | -| ExitMethods.cs:132:33:132:49 | [assertion success] call to method IsFalse | ExitMethods.cs:132:10:132:20 | enter AssertFalse | -| ExitMethods.cs:132:33:132:49 | [assertion success] call to method IsFalse | ExitMethods.cs:132:33:132:49 | [assertion success] call to method IsFalse | +| ExitMethods.cs:132:10:132:20 | exit AssertFalse (abnormal) | ExitMethods.cs:132:10:132:20 | exit AssertFalse (abnormal) | +| ExitMethods.cs:132:10:132:20 | exit AssertFalse (normal) | ExitMethods.cs:132:10:132:20 | enter AssertFalse | +| ExitMethods.cs:132:10:132:20 | exit AssertFalse (normal) | ExitMethods.cs:132:10:132:20 | exit AssertFalse (normal) | | ExitMethods.cs:134:17:134:33 | enter FailingAssertion3 | ExitMethods.cs:134:17:134:33 | enter FailingAssertion3 | -| ExitMethods.cs:136:9:136:25 | [assertion failure] call to method AssertFalse | ExitMethods.cs:136:9:136:25 | [assertion failure] call to method AssertFalse | | ExitMethods.cs:140:17:140:42 | enter ExceptionDispatchInfoThrow | ExitMethods.cs:140:17:140:42 | enter ExceptionDispatchInfoThrow | | ExitMethods.cs:140:17:140:42 | exit ExceptionDispatchInfoThrow (abnormal) | ExitMethods.cs:140:17:140:42 | exit ExceptionDispatchInfoThrow (abnormal) | | ExitMethods.cs:143:13:143:43 | ...; | ExitMethods.cs:143:13:143:43 | ...; | diff --git a/csharp/ql/test/library-tests/controlflow/graph/EnclosingCallable.expected b/csharp/ql/test/library-tests/controlflow/graph/EnclosingCallable.expected index a3a6a3cddfca..4a4631e454d5 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/EnclosingCallable.expected +++ b/csharp/ql/test/library-tests/controlflow/graph/EnclosingCallable.expected @@ -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 | diff --git a/csharp/ql/test/library-tests/controlflow/graph/ExitElement.expected b/csharp/ql/test/library-tests/controlflow/graph/ExitElement.expected index 495c74f169c3..11880f4f8252 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/ExitElement.expected +++ b/csharp/ql/test/library-tests/controlflow/graph/ExitElement.expected @@ -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 | diff --git a/csharp/ql/test/library-tests/controlflow/graph/NodeGraph.expected b/csharp/ql/test/library-tests/controlflow/graph/NodeGraph.expected index 8f6f5e43d626..63855522ba60 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/NodeGraph.expected +++ b/csharp/ql/test/library-tests/controlflow/graph/NodeGraph.expected @@ -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 (...) ... | | diff --git a/csharp/ql/test/library-tests/controlflow/guards/AbstractValue.expected b/csharp/ql/test/library-tests/controlflow/guards/AbstractValue.expected index b6059d487728..a930349e930c 100644 --- a/csharp/ql/test/library-tests/controlflow/guards/AbstractValue.expected +++ b/csharp/ql/test/library-tests/controlflow/guards/AbstractValue.expected @@ -1,4 +1,22 @@ -abstractValue +| | Assert.cs:9:31:9:32 | "" | +| | Assert.cs:16:31:16:32 | "" | +| | Assert.cs:23:31:23:32 | "" | +| | Assert.cs:30:31:30:32 | "" | +| | Assert.cs:37:31:37:32 | "" | +| | Assert.cs:44:31:44:32 | "" | +| | Assert.cs:51:31:51:32 | "" | +| | Assert.cs:58:31:58:32 | "" | +| | Assert.cs:65:31:65:32 | "" | +| | Assert.cs:72:31:72:32 | "" | +| | Assert.cs:79:31:79:32 | "" | +| | Collections.cs:73:40:73:41 | "" | +| | Guards.cs:96:18:96:19 | "" | +| | Guards.cs:97:31:97:31 | access to parameter s | +| | Guards.cs:157:18:157:19 | "" | +| | Guards.cs:158:24:158:24 | access to parameter o | +| | Guards.cs:282:13:282:14 | "" | +| | Guards.cs:283:17:283:17 | access to parameter o | +| | Guards.cs:341:31:341:32 | "" | | 0 | Collections.cs:11:32:11:32 | 0 | | 0 | Collections.cs:13:28:13:28 | 0 | | 0 | Collections.cs:15:27:15:27 | 0 | @@ -21,9 +39,13 @@ abstractValue | 0 | Collections.cs:86:17:86:32 | 0 | | 0 | Guards.cs:12:24:12:24 | 0 | | 0 | Guards.cs:78:26:78:26 | 0 | +| 0 | Guards.cs:78:26:78:26 | (...) ... | | 0 | Guards.cs:80:25:80:25 | 0 | +| 0 | Guards.cs:80:25:80:25 | (...) ... | | 0 | Guards.cs:82:26:82:26 | 0 | +| 0 | Guards.cs:82:26:82:26 | (...) ... | | 0 | Guards.cs:92:30:92:30 | 0 | +| 0 | Guards.cs:92:30:92:30 | (...) ... | | 0 | Guards.cs:241:17:241:17 | 0 | | 0 | Guards.cs:255:17:255:19 | access to constant A | | 0 | Guards.cs:298:21:298:21 | 0 | @@ -46,340 +68,827 @@ abstractValue | 1 | Collections.cs:81:36:81:36 | 1 | | 1 | Collections.cs:88:13:88:32 | 1 | | 1 | Guards.cs:92:25:92:25 | 1 | +| 1 | Guards.cs:92:25:92:25 | (...) ... | +| 1 | Guards.cs:243:13:243:17 | ... = ... | | 1 | Guards.cs:243:17:243:17 | 1 | | 1 | Guards.cs:246:18:246:18 | 1 | +| 1 | Guards.cs:257:13:257:19 | ... = ... | | 1 | Guards.cs:257:17:257:19 | access to constant B | | 1 | Guards.cs:260:18:260:20 | access to constant B | | 1 | Guards.cs:299:18:299:18 | 1 | | 1 | Guards.cs:311:18:311:18 | 1 | +| 1 | Guards.cs:319:13:319:17 | ... = ... | | 1 | Guards.cs:319:17:319:17 | 1 | | 1 | Guards.cs:322:13:322:13 | 1 | | 1 | Guards.cs:323:18:323:18 | 1 | +| 1 | Guards.cs:331:13:331:19 | ... = ... | | 1 | Guards.cs:331:17:331:19 | access to constant B | | 1 | Guards.cs:334:13:334:15 | access to constant B | | 1 | Guards.cs:335:18:335:18 | 1 | | 3 | Collections.cs:54:13:54:42 | 3 | | 3 | Collections.cs:62:17:62:46 | 3 | | 10 | Guards.cs:84:25:84:26 | 10 | +| 10 | Guards.cs:84:25:84:26 | (...) ... | | 10 | Guards.cs:86:26:86:27 | 10 | -| empty | Collections.cs:53:13:53:16 | access to parameter args | -| empty | Collections.cs:56:9:56:25 | ... = ... | -| empty | Collections.cs:56:13:56:25 | array creation of type String[] | -| empty | Collections.cs:57:9:57:13 | ... = ... | -| empty | Collections.cs:57:13:57:13 | access to local variable x | -| empty | Collections.cs:64:13:64:13 | access to local variable x | -| empty | Collections.cs:86:17:86:32 | array creation of type String[] | -| empty | Collections.cs:86:30:86:32 | { ..., ... } | -| empty | Collections.cs:87:22:87:24 | { ..., ... } | +| 10 | Guards.cs:86:26:86:27 | (...) ... | +| | Guards.cs:18:31:18:46 | "" | +| a | Collections.cs:54:28:54:30 | "a" | +| a | Collections.cs:62:32:62:34 | "a" | +| a | Collections.cs:66:19:66:21 | "a" | +| a | Collections.cs:88:28:88:30 | "a" | +| a | Collections.cs:89:24:89:26 | "a" | +| b | Collections.cs:54:33:54:35 | "b" | +| b | Collections.cs:62:37:62:39 | "b" | +| b | Collections.cs:67:19:67:21 | "b" | +| c | Collections.cs:54:38:54:40 | "c" | +| c | Collections.cs:62:42:62:44 | "c" | | false | Assert.cs:85:61:85:65 | false | +| false | Assert.cs:94:23:94:24 | access to parameter b2 | | false | Guards.cs:178:16:178:20 | false | | false | Guards.cs:181:53:181:57 | false | +| false | Guards.cs:217:13:217:22 | ... = ... | | false | Guards.cs:217:18:217:22 | false | | false | Guards.cs:228:18:228:22 | false | +| false | Guards.cs:295:13:295:22 | ... = ... | | false | Guards.cs:295:18:295:22 | false | | false | Guards.cs:305:18:305:22 | false | -| non-empty | Collections.cs:54:9:54:42 | ... = ... | -| non-empty | Collections.cs:54:13:54:42 | array creation of type String[] | -| non-empty | Collections.cs:54:26:54:42 | { ..., ... } | -| non-empty | Collections.cs:55:9:55:13 | ... = ... | -| non-empty | Collections.cs:55:13:55:13 | access to local variable x | -| non-empty | Collections.cs:62:17:62:46 | array creation of type String[] | -| non-empty | Collections.cs:62:30:62:46 | { ..., ... } | -| non-empty | Collections.cs:67:13:67:13 | access to local variable x | -| non-empty | Collections.cs:88:9:88:32 | ... = ... | -| non-empty | Collections.cs:88:13:88:32 | array creation of type String[] | -| non-empty | Collections.cs:88:26:88:32 | { ..., ... } | -| non-empty | Collections.cs:89:22:89:28 | { ..., ... } | -| non-null | Assert.cs:9:31:9:32 | "" | -| non-null | Assert.cs:10:9:10:13 | access to type Debug | -| non-null | Assert.cs:11:9:11:15 | access to type Console | -| non-null | Assert.cs:11:27:11:27 | access to local variable s | -| non-null | Assert.cs:16:31:16:32 | "" | -| non-null | Assert.cs:17:9:17:14 | access to type Assert | -| non-null | Assert.cs:18:9:18:15 | access to type Console | -| non-null | Assert.cs:23:31:23:32 | "" | -| non-null | Assert.cs:24:9:24:14 | access to type Assert | -| non-null | Assert.cs:25:9:25:15 | access to type Console | -| non-null | Assert.cs:30:31:30:32 | "" | -| non-null | Assert.cs:31:9:31:14 | access to type Assert | -| non-null | Assert.cs:32:9:32:15 | access to type Console | -| non-null | Assert.cs:37:31:37:32 | "" | -| non-null | Assert.cs:38:9:38:14 | access to type Assert | -| non-null | Assert.cs:39:9:39:15 | access to type Console | -| non-null | Assert.cs:44:31:44:32 | "" | -| non-null | Assert.cs:45:9:45:14 | access to type Assert | -| non-null | Assert.cs:46:9:46:15 | access to type Console | -| non-null | Assert.cs:51:31:51:32 | "" | -| non-null | Assert.cs:52:9:52:14 | access to type Assert | -| non-null | Assert.cs:53:9:53:15 | access to type Console | -| non-null | Assert.cs:58:31:58:32 | "" | -| non-null | Assert.cs:59:9:59:14 | access to type Assert | -| non-null | Assert.cs:60:9:60:15 | access to type Console | -| non-null | Assert.cs:65:31:65:32 | "" | -| non-null | Assert.cs:66:9:66:14 | access to type Assert | -| non-null | Assert.cs:67:9:67:15 | access to type Console | -| non-null | Assert.cs:72:31:72:32 | "" | -| non-null | Assert.cs:73:9:73:14 | access to type Assert | -| non-null | Assert.cs:74:9:74:15 | access to type Console | -| non-null | Assert.cs:79:31:79:32 | "" | -| non-null | Assert.cs:80:9:80:14 | access to type Assert | -| non-null | Assert.cs:81:9:81:15 | access to type Console | -| non-null | Assert.cs:93:9:93:35 | this access | -| non-null | Collections.cs:11:17:11:20 | access to parameter args | -| non-null | Collections.cs:12:13:12:16 | access to parameter args | -| non-null | Collections.cs:13:13:13:16 | access to parameter args | -| non-null | Collections.cs:14:13:14:16 | access to parameter args | -| non-null | Collections.cs:15:13:15:16 | access to parameter args | -| non-null | Collections.cs:16:13:16:16 | access to parameter args | -| non-null | Collections.cs:17:13:17:16 | access to parameter args | -| non-null | Collections.cs:22:17:22:20 | access to parameter args | -| non-null | Collections.cs:23:13:23:16 | access to parameter args | -| non-null | Collections.cs:24:13:24:16 | access to parameter args | -| non-null | Collections.cs:25:13:25:16 | access to parameter args | -| non-null | Collections.cs:26:13:26:16 | access to parameter args | -| non-null | Collections.cs:27:13:27:16 | access to parameter args | -| non-null | Collections.cs:28:13:28:16 | access to parameter args | -| non-null | Collections.cs:33:17:33:20 | access to parameter args | -| non-null | Collections.cs:34:13:34:16 | access to parameter args | -| non-null | Collections.cs:35:13:35:16 | access to parameter args | -| non-null | Collections.cs:36:13:36:16 | access to parameter args | -| non-null | Collections.cs:37:13:37:16 | access to parameter args | -| non-null | Collections.cs:38:13:38:16 | access to parameter args | -| non-null | Collections.cs:39:13:39:16 | access to parameter args | -| non-null | Collections.cs:44:17:44:20 | access to parameter args | -| non-null | Collections.cs:49:13:49:16 | access to parameter args | -| non-null | Collections.cs:51:17:51:20 | access to parameter args | -| non-null | Collections.cs:51:17:51:30 | call to method ToArray | -| non-null | Collections.cs:52:9:52:12 | access to parameter args | -| non-null | Collections.cs:53:9:53:9 | access to local variable x | -| non-null | Collections.cs:53:9:53:26 | ... = ... | -| non-null | Collections.cs:53:13:53:16 | access to parameter args | -| non-null | Collections.cs:53:13:53:26 | call to method ToArray | -| non-null | Collections.cs:54:9:54:9 | access to local variable x | -| non-null | Collections.cs:54:9:54:42 | ... = ... | -| non-null | Collections.cs:54:13:54:42 | array creation of type String[] | -| non-null | Collections.cs:54:28:54:30 | "a" | -| non-null | Collections.cs:54:33:54:35 | "b" | -| non-null | Collections.cs:54:38:54:40 | "c" | -| non-null | Collections.cs:55:9:55:9 | access to local variable x | -| non-null | Collections.cs:55:9:55:13 | ... = ... | -| non-null | Collections.cs:55:13:55:13 | access to local variable x | -| non-null | Collections.cs:56:9:56:9 | access to local variable x | -| non-null | Collections.cs:56:9:56:25 | ... = ... | -| non-null | Collections.cs:56:13:56:25 | array creation of type String[] | -| non-null | Collections.cs:57:9:57:9 | access to local variable x | -| non-null | Collections.cs:57:9:57:13 | ... = ... | -| non-null | Collections.cs:57:13:57:13 | access to local variable x | -| non-null | Collections.cs:62:17:62:46 | array creation of type String[] | -| non-null | Collections.cs:62:17:62:55 | call to method ToList | -| non-null | Collections.cs:62:32:62:34 | "a" | -| non-null | Collections.cs:62:37:62:39 | "b" | -| non-null | Collections.cs:62:42:62:44 | "c" | -| non-null | Collections.cs:63:9:63:9 | access to local variable x | -| non-null | Collections.cs:64:13:64:13 | access to local variable x | -| non-null | Collections.cs:66:13:66:13 | access to local variable x | -| non-null | Collections.cs:66:19:66:21 | "a" | -| non-null | Collections.cs:67:13:67:13 | access to local variable x | -| non-null | Collections.cs:67:19:67:21 | "b" | -| non-null | Collections.cs:73:35:73:35 | access to parameter s | -| non-null | Collections.cs:73:40:73:41 | "" | -| non-null | Collections.cs:74:17:74:20 | access to parameter args | -| non-null | Collections.cs:74:26:74:32 | access to local function IsEmpty | -| non-null | Collections.cs:74:26:74:32 | delegate creation of type Func | -| non-null | Collections.cs:74:26:74:32 | this access | -| non-null | Collections.cs:75:13:75:16 | access to parameter args | -| non-null | Collections.cs:75:24:75:30 | access to local function IsEmpty | -| non-null | Collections.cs:75:24:75:30 | delegate creation of type Func | -| non-null | Collections.cs:75:24:75:30 | this access | -| non-null | Collections.cs:76:13:76:16 | access to parameter args | -| non-null | Collections.cs:76:24:76:30 | access to local function IsEmpty | -| non-null | Collections.cs:76:24:76:30 | delegate creation of type Func | -| non-null | Collections.cs:76:24:76:30 | this access | -| non-null | Collections.cs:77:13:77:16 | access to parameter args | -| non-null | Collections.cs:77:24:77:30 | access to local function IsEmpty | -| non-null | Collections.cs:77:24:77:30 | delegate creation of type Func | -| non-null | Collections.cs:77:24:77:30 | this access | -| non-null | Collections.cs:78:13:78:16 | access to parameter args | -| non-null | Collections.cs:78:24:78:30 | access to local function IsEmpty | -| non-null | Collections.cs:78:24:78:30 | delegate creation of type Func | -| non-null | Collections.cs:78:24:78:30 | this access | -| non-null | Collections.cs:79:13:79:16 | access to parameter args | -| non-null | Collections.cs:79:24:79:30 | access to local function IsEmpty | -| non-null | Collections.cs:79:24:79:30 | delegate creation of type Func | -| non-null | Collections.cs:79:24:79:30 | this access | -| non-null | Collections.cs:80:13:80:16 | access to parameter args | -| non-null | Collections.cs:80:24:80:30 | access to local function IsEmpty | -| non-null | Collections.cs:80:24:80:30 | delegate creation of type Func | -| non-null | Collections.cs:80:24:80:30 | this access | -| non-null | Collections.cs:81:13:81:16 | access to parameter args | -| non-null | Collections.cs:81:24:81:30 | access to local function IsEmpty | -| non-null | Collections.cs:81:24:81:30 | delegate creation of type Func | -| non-null | Collections.cs:81:24:81:30 | this access | -| non-null | Collections.cs:86:17:86:32 | array creation of type String[] | -| non-null | Collections.cs:87:22:87:24 | array creation of type String[] | -| non-null | Collections.cs:88:9:88:9 | access to local variable x | -| non-null | Collections.cs:88:9:88:32 | ... = ... | -| non-null | Collections.cs:88:13:88:32 | array creation of type String[] | -| non-null | Collections.cs:88:28:88:30 | "a" | -| non-null | Collections.cs:89:22:89:28 | array creation of type String[] | -| non-null | Collections.cs:89:24:89:26 | "a" | -| non-null | Collections.cs:94:29:94:32 | access to parameter args | -| non-null | Collections.cs:95:13:95:19 | access to type Console | -| non-null | Collections.cs:95:31:95:34 | access to parameter args | -| non-null | Collections.cs:100:29:100:32 | access to parameter args | -| non-null | Collections.cs:102:9:102:15 | access to type Console | -| non-null | Collections.cs:102:27:102:30 | access to parameter args | -| non-null | Guards.cs:12:13:12:13 | access to parameter s | -| non-null | Guards.cs:14:13:14:19 | access to type Console | -| non-null | Guards.cs:14:31:14:31 | access to parameter s | -| non-null | Guards.cs:18:13:18:19 | access to type Console | -| non-null | Guards.cs:18:31:18:46 | "" | -| non-null | Guards.cs:26:13:26:19 | access to type Console | -| non-null | Guards.cs:26:31:26:31 | access to parameter s | -| non-null | Guards.cs:32:14:32:19 | access to type String | -| non-null | Guards.cs:33:13:33:19 | access to type Console | -| non-null | Guards.cs:33:31:33:35 | ... + ... | -| non-null | Guards.cs:36:14:36:20 | access to type Console | -| 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:39:13:39:19 | access to type Console | -| 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:42:14:42:20 | access to type Console | -| 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:44:13:44:17 | this access | -| non-null | Guards.cs:45:13:45:19 | access to type Console | -| non-null | Guards.cs:45:31:45:42 | object creation of type Guards | -| non-null | Guards.cs:47:13:47:17 | this access | -| non-null | Guards.cs:48:13:48:19 | access to type Console | -| non-null | Guards.cs:48:31:48:34 | this access | -| non-null | Guards.cs:48:31:48:40 | access to field Field | -| non-null | Guards.cs:53:13:53:13 | access to parameter g | -| non-null | Guards.cs:55:9:55:15 | access to type Console | -| non-null | Guards.cs:55:27:55:27 | access to parameter g | -| non-null | Guards.cs:55:27:55:33 | access to field Field | -| non-null | Guards.cs:60:13:60:13 | access to parameter g | -| non-null | Guards.cs:61:19:61:33 | object creation of type Exception | -| non-null | Guards.cs:62:9:62:15 | access to type Console | -| non-null | Guards.cs:62:27:62:27 | access to parameter g | -| non-null | Guards.cs:62:27:62:36 | access to property Property | -| non-null | Guards.cs:62:27:62:45 | access to property Property | -| non-null | Guards.cs:62:27:62:51 | access to field Field | -| non-null | Guards.cs:63:9:63:15 | access to type Console | -| non-null | Guards.cs:63:27:63:27 | access to parameter g | -| non-null | Guards.cs:63:27:63:36 | access to property Property | -| non-null | Guards.cs:70:13:70:19 | access to type Console | -| non-null | Guards.cs:70:31:70:31 | access to parameter s | -| non-null | Guards.cs:71:13:71:13 | access to parameter s | -| non-null | Guards.cs:72:13:72:19 | access to type Console | -| non-null | Guards.cs:78:26:78:26 | (...) ... | -| non-null | Guards.cs:79:13:79:19 | access to type Console | -| non-null | Guards.cs:79:31:79:31 | access to parameter s | -| non-null | Guards.cs:80:25:80:25 | (...) ... | -| non-null | Guards.cs:81:13:81:19 | access to type Console | -| non-null | Guards.cs:81:31:81:31 | access to parameter s | -| non-null | Guards.cs:82:26:82:26 | (...) ... | -| non-null | Guards.cs:83:13:83:19 | access to type Console | -| non-null | Guards.cs:83:31:83:31 | access to parameter s | -| non-null | Guards.cs:84:25:84:26 | (...) ... | -| non-null | Guards.cs:85:13:85:19 | access to type Console | -| non-null | Guards.cs:85:31:85:31 | access to parameter s | -| non-null | Guards.cs:86:26:86:27 | (...) ... | -| non-null | Guards.cs:87:13:87:19 | access to type Console | -| non-null | Guards.cs:87:31:87:31 | access to parameter s | -| non-null | Guards.cs:89:13:89:19 | access to type Console | -| non-null | Guards.cs:89:31:89:31 | access to parameter s | -| non-null | Guards.cs:91:13:91:19 | access to type Console | -| non-null | Guards.cs:92:25:92:25 | (...) ... | -| non-null | Guards.cs:92:30:92:30 | (...) ... | -| non-null | Guards.cs:93:13:93:19 | access to type Console | -| non-null | Guards.cs:95:13:95:19 | access to type Console | -| non-null | Guards.cs:96:18:96:19 | "" | -| non-null | Guards.cs:97:13:97:19 | access to type Console | -| non-null | Guards.cs:97:31:97:31 | access to parameter s | -| non-null | Guards.cs:99:13:99:19 | access to type Console | -| non-null | Guards.cs:104:13:104:13 | access to parameter g | -| non-null | Guards.cs:105:19:105:33 | object creation of type Exception | -| non-null | Guards.cs:106:9:106:9 | access to parameter g | -| non-null | Guards.cs:106:9:106:18 | access to property Property | -| non-null | Guards.cs:107:9:107:15 | access to type Console | -| non-null | Guards.cs:107:27:107:27 | access to parameter g | -| non-null | Guards.cs:108:9:108:15 | access to type Console | -| non-null | Guards.cs:108:27:108:27 | access to parameter g | -| non-null | Guards.cs:108:27:108:36 | access to property Property | -| non-null | Guards.cs:113:21:113:21 | access to parameter g | -| non-null | Guards.cs:114:14:114:14 | access to parameter g | -| non-null | Guards.cs:114:14:114:23 | access to property Property | -| non-null | Guards.cs:114:14:114:32 | access to property Property | -| non-null | Guards.cs:115:9:115:55 | ... = ... | -| non-null | Guards.cs:115:17:115:17 | access to parameter g | -| non-null | Guards.cs:115:17:115:26 | access to property Property | -| non-null | Guards.cs:115:17:115:35 | access to property Property | -| non-null | Guards.cs:115:17:115:55 | ... ?? ... | -| non-null | Guards.cs:115:46:115:55 | throw ... | -| non-null | Guards.cs:116:9:116:15 | access to type Console | -| non-null | Guards.cs:116:27:116:27 | access to parameter g | -| non-null | Guards.cs:116:27:116:36 | access to property Property | -| non-null | Guards.cs:116:27:116:45 | access to property Property | -| non-null | Guards.cs:116:27:116:51 | access to field Field | -| non-null | Guards.cs:117:9:117:9 | access to parameter g | -| non-null | Guards.cs:117:9:117:18 | access to property Property | -| non-null | Guards.cs:118:9:118:15 | access to type Console | -| non-null | Guards.cs:118:27:118:27 | access to parameter g | -| non-null | Guards.cs:119:9:119:15 | access to type Console | -| non-null | Guards.cs:119:27:119:27 | access to parameter g | -| non-null | Guards.cs:119:27:119:36 | access to property Property | -| non-null | Guards.cs:125:18:125:19 | access to parameter s1 | -| non-null | Guards.cs:125:29:125:30 | access to parameter s1 | -| non-null | Guards.cs:132:16:132:16 | access to parameter s | -| non-null | Guards.cs:138:20:138:20 | access to parameter s | -| non-null | Guards.cs:145:20:145:20 | access to local variable s | -| non-null | Guards.cs:154:24:154:24 | access to parameter o | -| non-null | Guards.cs:156:24:156:24 | access to local variable a | -| non-null | Guards.cs:158:24:158:24 | access to parameter o | -| non-null | Guards.cs:162:24:162:24 | access to parameter o | -| non-null | Guards.cs:168:14:168:19 | access to type String | -| non-null | Guards.cs:169:13:169:19 | access to type Console | -| non-null | Guards.cs:169:31:169:31 | access to parameter x | -| non-null | Guards.cs:183:38:183:49 | this access | -| non-null | Guards.cs:189:14:189:25 | this access | -| non-null | Guards.cs:190:13:190:19 | access to type Console | -| non-null | Guards.cs:191:14:191:25 | this access | -| non-null | Guards.cs:192:13:192:19 | access to type Console | -| non-null | Guards.cs:193:14:193:25 | this access | -| non-null | Guards.cs:194:13:194:19 | access to type Console | -| non-null | Guards.cs:195:13:195:27 | this access | -| non-null | Guards.cs:196:13:196:19 | access to type Console | -| non-null | Guards.cs:197:14:197:29 | this access | -| non-null | Guards.cs:198:13:198:19 | access to type Console | -| non-null | Guards.cs:205:13:205:13 | access to parameter o | -| non-null | Guards.cs:206:33:206:36 | access to parameter args | -| non-null | Guards.cs:208:17:208:17 | access to parameter o | -| non-null | Guards.cs:268:30:268:41 | call to method GetType | -| non-null | Guards.cs:269:13:269:14 | access to parameter o1 | -| non-null | Guards.cs:270:30:270:31 | access to parameter o2 | -| non-null | Guards.cs:279:17:279:17 | access to parameter o | -| non-null | Guards.cs:281:17:281:17 | access to local variable a | -| non-null | Guards.cs:283:17:283:17 | access to parameter o | -| non-null | Guards.cs:287:17:287:17 | access to parameter o | -| non-null | Guards.cs:341:31:341:32 | "" | -| non-null | Guards.cs:343:13:343:19 | access to type Console | -| non-null | Guards.cs:343:31:343:31 | access to local variable s | -| non-null | Guards.cs:349:13:349:13 | access to parameter o | +| not | Guards.cs:99:31:99:31 | access to parameter s | +| not | Guards.cs:160:24:160:24 | access to parameter o | +| not | Guards.cs:162:24:162:24 | access to parameter o | +| not | Guards.cs:285:17:285:17 | access to parameter o | +| not | Guards.cs:287:17:287:17 | access to parameter o | +| not null | Assert.cs:9:20:9:20 | access to parameter b | +| not null | Assert.cs:9:31:9:32 | "" | +| not null | Assert.cs:10:9:10:13 | access to type Debug | +| not null | Assert.cs:10:9:10:31 | call to method Assert | +| not null | Assert.cs:10:22:10:30 | ... != ... | +| not null | Assert.cs:11:9:11:15 | access to type Console | +| not null | Assert.cs:11:9:11:35 | call to method WriteLine | +| not null | Assert.cs:11:27:11:27 | access to local variable s | +| not null | Assert.cs:11:27:11:34 | access to property Length | +| not null | Assert.cs:16:20:16:20 | access to parameter b | +| not null | Assert.cs:16:31:16:32 | "" | +| not null | Assert.cs:17:9:17:14 | access to type Assert | +| not null | Assert.cs:17:9:17:24 | call to method IsNull | +| not null | Assert.cs:18:9:18:15 | access to type Console | +| not null | Assert.cs:18:9:18:35 | call to method WriteLine | +| not null | Assert.cs:18:27:18:34 | access to property Length | +| not null | Assert.cs:23:20:23:20 | access to parameter b | +| not null | Assert.cs:23:31:23:32 | "" | +| not null | Assert.cs:24:9:24:14 | access to type Assert | +| not null | Assert.cs:24:9:24:27 | call to method IsNotNull | +| not null | Assert.cs:25:9:25:15 | access to type Console | +| not null | Assert.cs:25:9:25:35 | call to method WriteLine | +| not null | Assert.cs:25:27:25:27 | access to local variable s | +| not null | Assert.cs:25:27:25:34 | access to property Length | +| not null | Assert.cs:30:20:30:20 | access to parameter b | +| not null | Assert.cs:30:31:30:32 | "" | +| not null | Assert.cs:31:9:31:14 | access to type Assert | +| not null | Assert.cs:31:9:31:32 | call to method IsTrue | +| not null | Assert.cs:31:23:31:31 | ... == ... | +| not null | Assert.cs:32:9:32:15 | access to type Console | +| not null | Assert.cs:32:9:32:35 | call to method WriteLine | +| not null | Assert.cs:32:27:32:34 | access to property Length | +| not null | Assert.cs:37:20:37:20 | access to parameter b | +| not null | Assert.cs:37:31:37:32 | "" | +| not null | Assert.cs:38:9:38:14 | access to type Assert | +| not null | Assert.cs:38:9:38:32 | call to method IsTrue | +| not null | Assert.cs:38:23:38:31 | ... != ... | +| not null | Assert.cs:39:9:39:15 | access to type Console | +| not null | Assert.cs:39:9:39:35 | call to method WriteLine | +| not null | Assert.cs:39:27:39:27 | access to local variable s | +| not null | Assert.cs:39:27:39:34 | access to property Length | +| not null | Assert.cs:44:20:44:20 | access to parameter b | +| not null | Assert.cs:44:31:44:32 | "" | +| not null | Assert.cs:45:9:45:14 | access to type Assert | +| not null | Assert.cs:45:9:45:33 | call to method IsFalse | +| not null | Assert.cs:45:24:45:32 | ... != ... | +| not null | Assert.cs:46:9:46:15 | access to type Console | +| not null | Assert.cs:46:9:46:35 | call to method WriteLine | +| not null | Assert.cs:46:27:46:34 | access to property Length | +| not null | Assert.cs:51:20:51:20 | access to parameter b | +| not null | Assert.cs:51:31:51:32 | "" | +| not null | Assert.cs:52:9:52:14 | access to type Assert | +| not null | Assert.cs:52:9:52:33 | call to method IsFalse | +| not null | Assert.cs:52:24:52:32 | ... == ... | +| not null | Assert.cs:53:9:53:15 | access to type Console | +| not null | Assert.cs:53:9:53:35 | call to method WriteLine | +| not null | Assert.cs:53:27:53:27 | access to local variable s | +| not null | Assert.cs:53:27:53:34 | access to property Length | +| not null | Assert.cs:58:20:58:20 | access to parameter b | +| not null | Assert.cs:58:31:58:32 | "" | +| not null | Assert.cs:59:9:59:14 | access to type Assert | +| not null | Assert.cs:59:9:59:37 | call to method IsTrue | +| not null | Assert.cs:59:23:59:31 | ... != ... | +| not null | Assert.cs:59:23:59:36 | ... && ... | +| not null | Assert.cs:59:36:59:36 | access to parameter b | +| not null | Assert.cs:60:9:60:15 | access to type Console | +| not null | Assert.cs:60:9:60:35 | call to method WriteLine | +| not null | Assert.cs:60:27:60:27 | access to local variable s | +| not null | Assert.cs:60:27:60:34 | access to property Length | +| not null | Assert.cs:65:20:65:20 | access to parameter b | +| not null | Assert.cs:65:31:65:32 | "" | +| not null | Assert.cs:66:9:66:14 | access to type Assert | +| not null | Assert.cs:66:9:66:38 | call to method IsFalse | +| not null | Assert.cs:66:24:66:32 | ... == ... | +| not null | Assert.cs:66:24:66:37 | ... \|\| ... | +| not null | Assert.cs:66:37:66:37 | access to parameter b | +| not null | Assert.cs:67:9:67:15 | access to type Console | +| not null | Assert.cs:67:9:67:35 | call to method WriteLine | +| not null | Assert.cs:67:27:67:27 | access to local variable s | +| not null | Assert.cs:67:27:67:34 | access to property Length | +| not null | Assert.cs:72:20:72:20 | access to parameter b | +| not null | Assert.cs:72:31:72:32 | "" | +| not null | Assert.cs:73:9:73:14 | access to type Assert | +| not null | Assert.cs:73:9:73:37 | call to method IsTrue | +| not null | Assert.cs:73:23:73:31 | ... == ... | +| not null | Assert.cs:73:23:73:36 | ... && ... | +| not null | Assert.cs:73:36:73:36 | access to parameter b | +| not null | Assert.cs:74:9:74:15 | access to type Console | +| not null | Assert.cs:74:9:74:35 | call to method WriteLine | +| not null | Assert.cs:74:27:74:34 | access to property Length | +| not null | Assert.cs:79:20:79:20 | access to parameter b | +| not null | Assert.cs:79:31:79:32 | "" | +| not null | Assert.cs:80:9:80:14 | access to type Assert | +| not null | Assert.cs:80:9:80:38 | call to method IsFalse | +| not null | Assert.cs:80:24:80:32 | ... != ... | +| not null | Assert.cs:80:24:80:37 | ... \|\| ... | +| not null | Assert.cs:80:37:80:37 | access to parameter b | +| not null | Assert.cs:81:9:81:15 | access to type Console | +| not null | Assert.cs:81:9:81:35 | call to method WriteLine | +| not null | Assert.cs:81:27:81:34 | access to property Length | +| not null | Assert.cs:85:61:85:65 | false | +| not null | Assert.cs:86:61:86:64 | true | +| not null | Assert.cs:93:9:93:35 | call to method AssertTrueFalse | +| not null | Assert.cs:93:9:93:35 | this access | +| not null | Assert.cs:93:25:93:26 | access to parameter b1 | +| not null | Assert.cs:93:29:93:30 | access to parameter b2 | +| not null | Assert.cs:93:33:93:34 | access to parameter b2 | +| not null | Assert.cs:94:16:94:17 | access to parameter b1 | +| not null | Assert.cs:94:16:94:24 | ... && ... | +| not null | Assert.cs:94:22:94:24 | !... | +| not null | Assert.cs:94:23:94:24 | access to parameter b2 | +| not null | Collections.cs:11:13:11:13 | access to local variable b | +| not null | Collections.cs:11:13:11:32 | Boolean b = ... | +| not null | Collections.cs:11:17:11:20 | access to parameter args | +| not null | Collections.cs:11:17:11:27 | access to property Length | +| not null | Collections.cs:11:17:11:32 | ... == ... | +| not null | Collections.cs:11:32:11:32 | 0 | +| not null | Collections.cs:12:9:12:9 | access to local variable b | +| not null | Collections.cs:12:9:12:28 | ... = ... | +| not null | Collections.cs:12:13:12:16 | access to parameter args | +| not null | Collections.cs:12:13:12:23 | access to property Length | +| not null | Collections.cs:12:13:12:28 | ... == ... | +| not null | Collections.cs:12:28:12:28 | 1 | +| not null | Collections.cs:13:9:13:9 | access to local variable b | +| not null | Collections.cs:13:9:13:28 | ... = ... | +| not null | Collections.cs:13:13:13:16 | access to parameter args | +| not null | Collections.cs:13:13:13:23 | access to property Length | +| not null | Collections.cs:13:13:13:28 | ... != ... | +| not null | Collections.cs:13:28:13:28 | 0 | +| not null | Collections.cs:14:9:14:9 | access to local variable b | +| not null | Collections.cs:14:9:14:28 | ... = ... | +| not null | Collections.cs:14:13:14:16 | access to parameter args | +| not null | Collections.cs:14:13:14:23 | access to property Length | +| not null | Collections.cs:14:13:14:28 | ... != ... | +| not null | Collections.cs:14:28:14:28 | 1 | +| not null | Collections.cs:15:9:15:9 | access to local variable b | +| not null | Collections.cs:15:9:15:27 | ... = ... | +| not null | Collections.cs:15:13:15:16 | access to parameter args | +| not null | Collections.cs:15:13:15:23 | access to property Length | +| not null | Collections.cs:15:13:15:27 | ... > ... | +| not null | Collections.cs:15:27:15:27 | 0 | +| not null | Collections.cs:16:9:16:9 | access to local variable b | +| not null | Collections.cs:16:9:16:28 | ... = ... | +| not null | Collections.cs:16:13:16:16 | access to parameter args | +| not null | Collections.cs:16:13:16:23 | access to property Length | +| not null | Collections.cs:16:13:16:28 | ... >= ... | +| not null | Collections.cs:16:28:16:28 | 0 | +| not null | Collections.cs:17:9:17:9 | access to local variable b | +| not null | Collections.cs:17:9:17:28 | ... = ... | +| not null | Collections.cs:17:13:17:16 | access to parameter args | +| not null | Collections.cs:17:13:17:23 | access to property Length | +| not null | Collections.cs:17:13:17:28 | ... >= ... | +| not null | Collections.cs:17:28:17:28 | 1 | +| not null | Collections.cs:22:13:22:13 | access to local variable b | +| not null | Collections.cs:22:13:22:31 | Boolean b = ... | +| not null | Collections.cs:22:17:22:20 | access to parameter args | +| not null | Collections.cs:22:17:22:26 | access to property Count | +| not null | Collections.cs:22:17:22:31 | ... == ... | +| not null | Collections.cs:22:31:22:31 | 0 | +| not null | Collections.cs:23:9:23:9 | access to local variable b | +| not null | Collections.cs:23:9:23:27 | ... = ... | +| not null | Collections.cs:23:13:23:16 | access to parameter args | +| not null | Collections.cs:23:13:23:22 | access to property Count | +| not null | Collections.cs:23:13:23:27 | ... == ... | +| not null | Collections.cs:23:27:23:27 | 1 | +| not null | Collections.cs:24:9:24:9 | access to local variable b | +| not null | Collections.cs:24:9:24:27 | ... = ... | +| not null | Collections.cs:24:13:24:16 | access to parameter args | +| not null | Collections.cs:24:13:24:22 | access to property Count | +| not null | Collections.cs:24:13:24:27 | ... != ... | +| not null | Collections.cs:24:27:24:27 | 0 | +| not null | Collections.cs:25:9:25:9 | access to local variable b | +| not null | Collections.cs:25:9:25:27 | ... = ... | +| not null | Collections.cs:25:13:25:16 | access to parameter args | +| not null | Collections.cs:25:13:25:22 | access to property Count | +| not null | Collections.cs:25:13:25:27 | ... != ... | +| not null | Collections.cs:25:27:25:27 | 1 | +| not null | Collections.cs:26:9:26:9 | access to local variable b | +| not null | Collections.cs:26:9:26:26 | ... = ... | +| not null | Collections.cs:26:13:26:16 | access to parameter args | +| not null | Collections.cs:26:13:26:22 | access to property Count | +| not null | Collections.cs:26:13:26:26 | ... > ... | +| not null | Collections.cs:26:26:26:26 | 0 | +| not null | Collections.cs:27:9:27:9 | access to local variable b | +| not null | Collections.cs:27:9:27:27 | ... = ... | +| not null | Collections.cs:27:13:27:16 | access to parameter args | +| not null | Collections.cs:27:13:27:22 | access to property Count | +| not null | Collections.cs:27:13:27:27 | ... >= ... | +| not null | Collections.cs:27:27:27:27 | 0 | +| not null | Collections.cs:28:9:28:9 | access to local variable b | +| not null | Collections.cs:28:9:28:27 | ... = ... | +| not null | Collections.cs:28:13:28:16 | access to parameter args | +| not null | Collections.cs:28:13:28:22 | access to property Count | +| not null | Collections.cs:28:13:28:27 | ... >= ... | +| not null | Collections.cs:28:27:28:27 | 1 | +| not null | Collections.cs:33:13:33:13 | access to local variable b | +| not null | Collections.cs:33:13:33:33 | Boolean b = ... | +| not null | Collections.cs:33:17:33:20 | access to parameter args | +| not null | Collections.cs:33:17:33:28 | call to method Count | +| not null | Collections.cs:33:17:33:33 | ... == ... | +| not null | Collections.cs:33:33:33:33 | 0 | +| not null | Collections.cs:34:9:34:9 | access to local variable b | +| not null | Collections.cs:34:9:34:29 | ... = ... | +| not null | Collections.cs:34:13:34:16 | access to parameter args | +| not null | Collections.cs:34:13:34:24 | call to method Count | +| not null | Collections.cs:34:13:34:29 | ... == ... | +| not null | Collections.cs:34:29:34:29 | 1 | +| not null | Collections.cs:35:9:35:9 | access to local variable b | +| not null | Collections.cs:35:9:35:29 | ... = ... | +| not null | Collections.cs:35:13:35:16 | access to parameter args | +| not null | Collections.cs:35:13:35:24 | call to method Count | +| not null | Collections.cs:35:13:35:29 | ... != ... | +| not null | Collections.cs:35:29:35:29 | 0 | +| not null | Collections.cs:36:9:36:9 | access to local variable b | +| not null | Collections.cs:36:9:36:29 | ... = ... | +| not null | Collections.cs:36:13:36:16 | access to parameter args | +| not null | Collections.cs:36:13:36:24 | call to method Count | +| not null | Collections.cs:36:13:36:29 | ... != ... | +| not null | Collections.cs:36:29:36:29 | 1 | +| not null | Collections.cs:37:9:37:9 | access to local variable b | +| not null | Collections.cs:37:9:37:28 | ... = ... | +| not null | Collections.cs:37:13:37:16 | access to parameter args | +| not null | Collections.cs:37:13:37:24 | call to method Count | +| not null | Collections.cs:37:13:37:28 | ... > ... | +| not null | Collections.cs:37:28:37:28 | 0 | +| not null | Collections.cs:38:9:38:9 | access to local variable b | +| not null | Collections.cs:38:9:38:29 | ... = ... | +| not null | Collections.cs:38:13:38:16 | access to parameter args | +| not null | Collections.cs:38:13:38:24 | call to method Count | +| not null | Collections.cs:38:13:38:29 | ... >= ... | +| not null | Collections.cs:38:29:38:29 | 0 | +| not null | Collections.cs:39:9:39:9 | access to local variable b | +| not null | Collections.cs:39:9:39:29 | ... = ... | +| not null | Collections.cs:39:13:39:16 | access to parameter args | +| not null | Collections.cs:39:13:39:24 | call to method Count | +| not null | Collections.cs:39:13:39:29 | ... >= ... | +| not null | Collections.cs:39:29:39:29 | 1 | +| not null | Collections.cs:44:13:44:13 | access to local variable b | +| not null | Collections.cs:44:13:44:26 | Boolean b = ... | +| not null | Collections.cs:44:17:44:20 | access to parameter args | +| not null | Collections.cs:44:17:44:26 | call to method Any | +| not null | Collections.cs:49:13:49:16 | access to parameter args | +| not null | Collections.cs:49:13:49:22 | access to property Count | +| not null | Collections.cs:49:13:49:27 | ... == ... | +| not null | Collections.cs:49:27:49:27 | 0 | +| not null | Collections.cs:51:17:51:20 | access to parameter args | +| not null | Collections.cs:51:17:51:30 | call to method ToArray | +| not null | Collections.cs:52:9:52:12 | access to parameter args | +| not null | Collections.cs:52:9:52:20 | call to method Clear | +| not null | Collections.cs:53:9:53:9 | access to local variable x | +| not null | Collections.cs:53:9:53:26 | ... = ... | +| not null | Collections.cs:53:13:53:16 | access to parameter args | +| not null | Collections.cs:53:13:53:26 | call to method ToArray | +| not null | Collections.cs:54:9:54:9 | access to local variable x | +| not null | Collections.cs:54:9:54:42 | ... = ... | +| not null | Collections.cs:54:13:54:42 | 3 | +| not null | Collections.cs:54:13:54:42 | array creation of type String[] | +| not null | Collections.cs:54:28:54:30 | "a" | +| not null | Collections.cs:54:33:54:35 | "b" | +| not null | Collections.cs:54:38:54:40 | "c" | +| not null | Collections.cs:55:9:55:9 | access to local variable x | +| not null | Collections.cs:55:9:55:13 | ... = ... | +| not null | Collections.cs:55:13:55:13 | access to local variable x | +| not null | Collections.cs:56:9:56:9 | access to local variable x | +| not null | Collections.cs:56:9:56:25 | ... = ... | +| not null | Collections.cs:56:13:56:25 | array creation of type String[] | +| not null | Collections.cs:56:24:56:24 | 0 | +| not null | Collections.cs:57:9:57:9 | access to local variable x | +| not null | Collections.cs:57:9:57:13 | ... = ... | +| not null | Collections.cs:57:13:57:13 | access to local variable x | +| not null | Collections.cs:62:17:62:46 | 3 | +| not null | Collections.cs:62:17:62:46 | array creation of type String[] | +| not null | Collections.cs:62:17:62:55 | call to method ToList | +| not null | Collections.cs:62:32:62:34 | "a" | +| not null | Collections.cs:62:37:62:39 | "b" | +| not null | Collections.cs:62:42:62:44 | "c" | +| not null | Collections.cs:63:9:63:9 | access to local variable x | +| not null | Collections.cs:63:9:63:17 | call to method Clear | +| not null | Collections.cs:64:13:64:13 | access to local variable x | +| not null | Collections.cs:64:13:64:19 | access to property Count | +| not null | Collections.cs:64:13:64:24 | ... == ... | +| not null | Collections.cs:64:24:64:24 | 0 | +| not null | Collections.cs:66:13:66:13 | access to local variable x | +| not null | Collections.cs:66:13:66:22 | call to method Add | +| not null | Collections.cs:66:19:66:21 | "a" | +| not null | Collections.cs:67:13:67:13 | access to local variable x | +| not null | Collections.cs:67:13:67:22 | call to method Add | +| not null | Collections.cs:67:19:67:21 | "b" | +| not null | Collections.cs:73:35:73:35 | access to parameter s | +| not null | Collections.cs:73:35:73:41 | ... == ... | +| not null | Collections.cs:73:40:73:41 | "" | +| not null | Collections.cs:74:13:74:13 | access to local variable b | +| not null | Collections.cs:74:13:74:33 | Boolean b = ... | +| not null | Collections.cs:74:17:74:20 | access to parameter args | +| not null | Collections.cs:74:17:74:33 | call to method Any | +| not null | Collections.cs:74:26:74:32 | access to local function IsEmpty | +| not null | Collections.cs:74:26:74:32 | delegate creation of type Func | +| not null | Collections.cs:74:26:74:32 | this access | +| not null | Collections.cs:75:9:75:9 | access to local variable b | +| not null | Collections.cs:75:9:75:36 | ... = ... | +| not null | Collections.cs:75:13:75:16 | access to parameter args | +| not null | Collections.cs:75:13:75:31 | call to method Count | +| not null | Collections.cs:75:13:75:36 | ... == ... | +| not null | Collections.cs:75:24:75:30 | access to local function IsEmpty | +| not null | Collections.cs:75:24:75:30 | delegate creation of type Func | +| not null | Collections.cs:75:24:75:30 | this access | +| not null | Collections.cs:75:36:75:36 | 0 | +| not null | Collections.cs:76:9:76:9 | access to local variable b | +| not null | Collections.cs:76:9:76:36 | ... = ... | +| not null | Collections.cs:76:13:76:16 | access to parameter args | +| not null | Collections.cs:76:13:76:31 | call to method Count | +| not null | Collections.cs:76:13:76:36 | ... == ... | +| not null | Collections.cs:76:24:76:30 | access to local function IsEmpty | +| not null | Collections.cs:76:24:76:30 | delegate creation of type Func | +| not null | Collections.cs:76:24:76:30 | this access | +| not null | Collections.cs:76:36:76:36 | 1 | +| not null | Collections.cs:77:9:77:9 | access to local variable b | +| not null | Collections.cs:77:9:77:36 | ... = ... | +| not null | Collections.cs:77:13:77:16 | access to parameter args | +| not null | Collections.cs:77:13:77:31 | call to method Count | +| not null | Collections.cs:77:13:77:36 | ... != ... | +| not null | Collections.cs:77:24:77:30 | access to local function IsEmpty | +| not null | Collections.cs:77:24:77:30 | delegate creation of type Func | +| not null | Collections.cs:77:24:77:30 | this access | +| not null | Collections.cs:77:36:77:36 | 0 | +| not null | Collections.cs:78:9:78:9 | access to local variable b | +| not null | Collections.cs:78:9:78:36 | ... = ... | +| not null | Collections.cs:78:13:78:16 | access to parameter args | +| not null | Collections.cs:78:13:78:31 | call to method Count | +| not null | Collections.cs:78:13:78:36 | ... != ... | +| not null | Collections.cs:78:24:78:30 | access to local function IsEmpty | +| not null | Collections.cs:78:24:78:30 | delegate creation of type Func | +| not null | Collections.cs:78:24:78:30 | this access | +| not null | Collections.cs:78:36:78:36 | 1 | +| not null | Collections.cs:79:9:79:9 | access to local variable b | +| not null | Collections.cs:79:9:79:35 | ... = ... | +| not null | Collections.cs:79:13:79:16 | access to parameter args | +| not null | Collections.cs:79:13:79:31 | call to method Count | +| not null | Collections.cs:79:13:79:35 | ... > ... | +| not null | Collections.cs:79:24:79:30 | access to local function IsEmpty | +| not null | Collections.cs:79:24:79:30 | delegate creation of type Func | +| not null | Collections.cs:79:24:79:30 | this access | +| not null | Collections.cs:79:35:79:35 | 0 | +| not null | Collections.cs:80:9:80:9 | access to local variable b | +| not null | Collections.cs:80:9:80:36 | ... = ... | +| not null | Collections.cs:80:13:80:16 | access to parameter args | +| not null | Collections.cs:80:13:80:31 | call to method Count | +| not null | Collections.cs:80:13:80:36 | ... >= ... | +| not null | Collections.cs:80:24:80:30 | access to local function IsEmpty | +| not null | Collections.cs:80:24:80:30 | delegate creation of type Func | +| not null | Collections.cs:80:24:80:30 | this access | +| not null | Collections.cs:80:36:80:36 | 0 | +| not null | Collections.cs:81:9:81:9 | access to local variable b | +| not null | Collections.cs:81:9:81:36 | ... = ... | +| not null | Collections.cs:81:13:81:16 | access to parameter args | +| not null | Collections.cs:81:13:81:31 | call to method Count | +| not null | Collections.cs:81:13:81:36 | ... >= ... | +| not null | Collections.cs:81:24:81:30 | access to local function IsEmpty | +| not null | Collections.cs:81:24:81:30 | delegate creation of type Func | +| not null | Collections.cs:81:24:81:30 | this access | +| not null | Collections.cs:81:36:81:36 | 1 | +| not null | Collections.cs:86:17:86:32 | 0 | +| not null | Collections.cs:86:17:86:32 | array creation of type String[] | +| not null | Collections.cs:87:22:87:24 | array creation of type String[] | +| not null | Collections.cs:88:9:88:9 | access to local variable x | +| not null | Collections.cs:88:9:88:32 | ... = ... | +| not null | Collections.cs:88:13:88:32 | 1 | +| not null | Collections.cs:88:13:88:32 | array creation of type String[] | +| not null | Collections.cs:88:28:88:30 | "a" | +| not null | Collections.cs:89:22:89:28 | array creation of type String[] | +| not null | Collections.cs:89:24:89:26 | "a" | +| not null | Collections.cs:94:29:94:32 | access to parameter args | +| not null | Collections.cs:95:13:95:19 | access to type Console | +| not null | Collections.cs:95:13:95:35 | call to method WriteLine | +| not null | Collections.cs:95:31:95:34 | access to parameter args | +| not null | Collections.cs:100:29:100:32 | access to parameter args | +| not null | Collections.cs:102:9:102:15 | access to type Console | +| not null | Collections.cs:102:9:102:31 | call to method WriteLine | +| not null | Collections.cs:102:27:102:30 | access to parameter args | +| not null | Guards.cs:10:13:10:25 | !... | +| not null | Guards.cs:10:14:10:25 | !... | +| not null | Guards.cs:10:16:10:24 | ... == ... | +| not null | Guards.cs:12:13:12:13 | access to parameter s | +| not null | Guards.cs:12:13:12:20 | access to property Length | +| not null | Guards.cs:12:13:12:24 | ... > ... | +| not null | Guards.cs:12:24:12:24 | 0 | +| not null | Guards.cs:14:13:14:19 | access to type Console | +| not null | Guards.cs:14:13:14:32 | call to method WriteLine | +| not null | Guards.cs:14:31:14:31 | access to parameter s | +| not null | Guards.cs:18:13:18:19 | access to type Console | +| not null | Guards.cs:18:13:18:47 | call to method WriteLine | +| not null | Guards.cs:18:31:18:46 | "" | +| not null | Guards.cs:24:13:24:21 | ... != ... | +| not null | Guards.cs:26:13:26:19 | access to type Console | +| not null | Guards.cs:26:13:26:32 | call to method WriteLine | +| not null | Guards.cs:26:31:26:31 | access to parameter s | +| not null | Guards.cs:32:13:32:36 | !... | +| not null | Guards.cs:32:13:32:51 | ... & ... | +| not null | Guards.cs:32:14:32:19 | access to type String | +| not null | Guards.cs:32:14:32:36 | call to method IsNullOrEmpty | +| not null | Guards.cs:32:40:32:51 | !... | +| not null | Guards.cs:32:42:32:50 | ... == ... | +| not null | Guards.cs:33:13:33:19 | access to type Console | +| not null | Guards.cs:33:13:33:36 | call to method WriteLine | +| not null | Guards.cs:33:31:33:31 | access to parameter x | +| not null | Guards.cs:33:31:33:35 | ... + ... | +| not null | Guards.cs:33:35:33:35 | access to parameter y | +| not null | Guards.cs:35:13:35:21 | ... == ... | +| not null | Guards.cs:35:13:35:34 | ... \|\| ... | +| not null | Guards.cs:35:26:35:34 | ... == ... | +| not null | Guards.cs:36:14:36:20 | access to type Console | +| not null | Guards.cs:36:14:36:37 | call to method WriteLine | +| not null | Guards.cs:36:32:36:32 | access to parameter x | +| not null | Guards.cs:36:32:36:36 | ... + ... | +| not null | Guards.cs:36:36:36:36 | access to parameter y | +| not null | Guards.cs:38:13:38:37 | !... | +| not null | Guards.cs:38:15:38:23 | ... == ... | +| not null | Guards.cs:38:15:38:36 | ... \|\| ... | +| not null | Guards.cs:38:28:38:36 | ... == ... | +| not null | Guards.cs:39:13:39:19 | access to type Console | +| not null | Guards.cs:39:13:39:36 | call to method WriteLine | +| not null | Guards.cs:39:31:39:31 | access to parameter x | +| not null | Guards.cs:39:31:39:35 | ... + ... | +| not null | Guards.cs:39:35:39:35 | access to parameter y | +| not null | Guards.cs:41:13:41:39 | !... | +| not null | Guards.cs:41:14:41:39 | !... | +| not null | Guards.cs:41:15:41:39 | !... | +| not null | Guards.cs:41:17:41:25 | ... != ... | +| not null | Guards.cs:41:17:41:38 | ... && ... | +| not null | Guards.cs:41:30:41:38 | ... != ... | +| not null | Guards.cs:42:14:42:20 | access to type Console | +| not null | Guards.cs:42:14:42:37 | call to method WriteLine | +| not null | Guards.cs:42:32:42:32 | access to parameter x | +| not null | Guards.cs:42:32:42:36 | ... + ... | +| not null | Guards.cs:42:36:42:36 | access to parameter y | +| not null | Guards.cs:44:13:44:17 | this access | +| not null | Guards.cs:44:13:44:25 | ... != ... | +| not null | Guards.cs:45:13:45:19 | access to type Console | +| not null | Guards.cs:45:13:45:49 | call to method WriteLine | +| not null | Guards.cs:45:31:45:42 | object creation of type Guards | +| not null | Guards.cs:47:13:47:17 | this access | +| not null | Guards.cs:47:13:47:25 | ... != ... | +| not null | Guards.cs:48:13:48:19 | access to type Console | +| not null | Guards.cs:48:13:48:41 | call to method WriteLine | +| not null | Guards.cs:48:31:48:34 | this access | +| not null | Guards.cs:48:31:48:40 | access to field Field | +| not null | Guards.cs:53:13:53:13 | access to parameter g | +| not null | Guards.cs:53:13:53:27 | ... == ... | +| not null | Guards.cs:55:9:55:15 | access to type Console | +| not null | Guards.cs:55:9:55:34 | call to method WriteLine | +| not null | Guards.cs:55:27:55:27 | access to parameter g | +| not null | Guards.cs:55:27:55:33 | access to field Field | +| not null | Guards.cs:60:13:60:13 | access to parameter g | +| not null | Guards.cs:60:13:60:45 | ... == ... | +| not null | Guards.cs:61:19:61:33 | object creation of type Exception | +| not null | Guards.cs:62:9:62:15 | access to type Console | +| not null | Guards.cs:62:9:62:52 | call to method WriteLine | +| not null | Guards.cs:62:27:62:27 | access to parameter g | +| not null | Guards.cs:62:27:62:36 | access to property Property | +| not null | Guards.cs:62:27:62:45 | access to property Property | +| not null | Guards.cs:62:27:62:51 | access to field Field | +| not null | Guards.cs:63:9:63:15 | access to type Console | +| not null | Guards.cs:63:9:63:43 | call to method WriteLine | +| not null | Guards.cs:63:27:63:27 | access to parameter g | +| not null | Guards.cs:63:27:63:36 | access to property Property | +| not null | Guards.cs:68:16:68:24 | ... != ... | +| not null | Guards.cs:70:13:70:19 | access to type Console | +| not null | Guards.cs:70:13:70:32 | call to method WriteLine | +| not null | Guards.cs:70:31:70:31 | access to parameter s | +| not null | Guards.cs:71:13:71:13 | access to parameter s | +| not null | Guards.cs:72:13:72:19 | access to type Console | +| not null | Guards.cs:72:13:72:32 | call to method WriteLine | +| not null | Guards.cs:78:13:78:26 | ... == ... | +| not null | Guards.cs:78:26:78:26 | 0 | +| not null | Guards.cs:78:26:78:26 | (...) ... | +| not null | Guards.cs:79:13:79:19 | access to type Console | +| not null | Guards.cs:79:13:79:32 | call to method WriteLine | +| not null | Guards.cs:79:31:79:31 | access to parameter s | +| not null | Guards.cs:80:13:80:25 | ... > ... | +| not null | Guards.cs:80:25:80:25 | 0 | +| not null | Guards.cs:80:25:80:25 | (...) ... | +| not null | Guards.cs:81:13:81:19 | access to type Console | +| not null | Guards.cs:81:13:81:32 | call to method WriteLine | +| not null | Guards.cs:81:31:81:31 | access to parameter s | +| not null | Guards.cs:82:13:82:26 | ... >= ... | +| not null | Guards.cs:82:26:82:26 | 0 | +| not null | Guards.cs:82:26:82:26 | (...) ... | +| not null | Guards.cs:83:13:83:19 | access to type Console | +| not null | Guards.cs:83:13:83:32 | call to method WriteLine | +| not null | Guards.cs:83:31:83:31 | access to parameter s | +| not null | Guards.cs:84:13:84:26 | ... < ... | +| not null | Guards.cs:84:25:84:26 | 10 | +| not null | Guards.cs:84:25:84:26 | (...) ... | +| not null | Guards.cs:85:13:85:19 | access to type Console | +| not null | Guards.cs:85:13:85:32 | call to method WriteLine | +| not null | Guards.cs:85:31:85:31 | access to parameter s | +| not null | Guards.cs:86:13:86:27 | ... <= ... | +| not null | Guards.cs:86:26:86:27 | 10 | +| not null | Guards.cs:86:26:86:27 | (...) ... | +| not null | Guards.cs:87:13:87:19 | access to type Console | +| not null | Guards.cs:87:13:87:32 | call to method WriteLine | +| not null | Guards.cs:87:31:87:31 | access to parameter s | +| not null | Guards.cs:88:13:88:29 | ... != ... | +| not null | Guards.cs:89:13:89:19 | access to type Console | +| not null | Guards.cs:89:13:89:32 | call to method WriteLine | +| not null | Guards.cs:89:31:89:31 | access to parameter s | +| not null | Guards.cs:91:13:91:19 | access to type Console | +| not null | Guards.cs:91:13:91:32 | call to method WriteLine | +| not null | Guards.cs:92:13:92:30 | ... != ... | +| not null | Guards.cs:92:25:92:25 | 1 | +| not null | Guards.cs:92:25:92:25 | (...) ... | +| not null | Guards.cs:92:30:92:30 | 0 | +| not null | Guards.cs:92:30:92:30 | (...) ... | +| not null | Guards.cs:93:13:93:19 | access to type Console | +| not null | Guards.cs:93:13:93:32 | call to method WriteLine | +| not null | Guards.cs:95:13:95:19 | access to type Console | +| not null | Guards.cs:95:13:95:32 | call to method WriteLine | +| not null | Guards.cs:95:31:95:31 | access to parameter s | +| not null | Guards.cs:96:13:96:19 | ... == ... | +| not null | Guards.cs:96:18:96:19 | "" | +| not null | Guards.cs:97:13:97:19 | access to type Console | +| not null | Guards.cs:97:13:97:32 | call to method WriteLine | +| not null | Guards.cs:97:31:97:31 | access to parameter s | +| not null | Guards.cs:99:13:99:19 | access to type Console | +| not null | Guards.cs:99:13:99:32 | call to method WriteLine | +| not null | Guards.cs:104:13:104:13 | access to parameter g | +| not null | Guards.cs:104:13:104:45 | ... == ... | +| not null | Guards.cs:105:19:105:33 | object creation of type Exception | +| not null | Guards.cs:106:9:106:9 | access to parameter g | +| not null | Guards.cs:106:9:106:18 | access to property Property | +| not null | Guards.cs:107:9:107:15 | access to type Console | +| not null | Guards.cs:107:9:107:52 | call to method WriteLine | +| not null | Guards.cs:107:27:107:27 | access to parameter g | +| not null | Guards.cs:108:9:108:15 | access to type Console | +| not null | Guards.cs:108:9:108:43 | call to method WriteLine | +| not null | Guards.cs:108:27:108:27 | access to parameter g | +| not null | Guards.cs:108:27:108:36 | access to property Property | +| not null | Guards.cs:113:21:113:21 | access to parameter g | +| not null | Guards.cs:114:14:114:14 | access to parameter g | +| not null | Guards.cs:114:14:114:23 | access to property Property | +| not null | Guards.cs:114:14:114:32 | access to property Property | +| not null | Guards.cs:115:9:115:55 | ... = ... | +| not null | Guards.cs:115:17:115:17 | access to parameter g | +| not null | Guards.cs:115:17:115:26 | access to property Property | +| not null | Guards.cs:115:17:115:35 | access to property Property | +| not null | Guards.cs:115:17:115:55 | ... ?? ... | +| not null | Guards.cs:115:46:115:55 | throw ... | +| not null | Guards.cs:116:9:116:15 | access to type Console | +| not null | Guards.cs:116:9:116:52 | call to method WriteLine | +| not null | Guards.cs:116:27:116:27 | access to parameter g | +| not null | Guards.cs:116:27:116:36 | access to property Property | +| not null | Guards.cs:116:27:116:45 | access to property Property | +| not null | Guards.cs:116:27:116:51 | access to field Field | +| not null | Guards.cs:117:9:117:9 | access to parameter g | +| not null | Guards.cs:117:9:117:18 | access to property Property | +| not null | Guards.cs:118:9:118:15 | access to type Console | +| not null | Guards.cs:118:9:118:52 | call to method WriteLine | +| not null | Guards.cs:118:27:118:27 | access to parameter g | +| not null | Guards.cs:119:9:119:15 | access to type Console | +| not null | Guards.cs:119:9:119:43 | call to method WriteLine | +| not null | Guards.cs:119:27:119:27 | access to parameter g | +| not null | Guards.cs:119:27:119:36 | access to property Property | +| not null | Guards.cs:124:13:124:14 | access to local variable b1 | +| not null | Guards.cs:124:13:124:30 | Boolean b1 = ... | +| not null | Guards.cs:124:18:124:30 | call to method Equals | +| not null | Guards.cs:125:18:125:19 | access to parameter s1 | +| not null | Guards.cs:125:29:125:30 | access to parameter s1 | +| not null | Guards.cs:130:13:130:21 | ... is ... | +| not null | Guards.cs:131:20:131:27 | access to property Length | +| not null | Guards.cs:132:16:132:16 | access to parameter s | +| not null | Guards.cs:132:16:132:23 | access to property Length | +| not null | Guards.cs:137:13:137:25 | ... is ... | +| not null | Guards.cs:137:18:137:23 | access to type String | +| not null | Guards.cs:138:20:138:20 | access to parameter s | +| not null | Guards.cs:138:20:138:27 | access to property Length | +| not null | Guards.cs:139:16:139:23 | access to property Length | +| not null | Guards.cs:144:13:144:25 | ... is ... | +| not null | Guards.cs:145:20:145:20 | access to local variable s | +| not null | Guards.cs:153:18:153:31 | access to type Action | +| not null | Guards.cs:154:24:154:24 | access to parameter o | +| not null | Guards.cs:156:24:156:24 | access to local variable a | +| not null | Guards.cs:157:18:157:19 | "" | +| not null | Guards.cs:158:24:158:24 | access to parameter o | +| not null | Guards.cs:159:18:159:21 | null | +| not null | Guards.cs:162:24:162:24 | access to parameter o | +| not null | Guards.cs:168:13:168:41 | !... | +| not null | Guards.cs:168:14:168:19 | access to type String | +| not null | Guards.cs:168:14:168:41 | call to method IsNullOrWhiteSpace | +| not null | Guards.cs:169:13:169:19 | access to type Console | +| not null | Guards.cs:169:13:169:32 | call to method WriteLine | +| not null | Guards.cs:169:31:169:31 | access to parameter x | +| not null | Guards.cs:172:34:172:42 | ... == ... | +| not null | Guards.cs:176:13:176:21 | ... is ... | +| not null | Guards.cs:177:20:177:23 | true | +| not null | Guards.cs:178:16:178:20 | false | +| not null | Guards.cs:181:34:181:42 | ... == ... | +| not null | Guards.cs:181:34:181:57 | ... ? ... : ... | +| not null | Guards.cs:181:46:181:49 | true | +| not null | Guards.cs:181:53:181:57 | false | +| not null | Guards.cs:183:37:183:49 | !... | +| not null | Guards.cs:183:38:183:49 | call to method NullTest3 | +| not null | Guards.cs:183:38:183:49 | this access | +| not null | Guards.cs:185:38:185:46 | ... == ... | +| not null | Guards.cs:185:38:185:60 | ... ? ... : ... | +| not null | Guards.cs:185:50:185:53 | true | +| not null | Guards.cs:185:57:185:60 | true | +| not null | Guards.cs:189:13:189:25 | !... | +| not null | Guards.cs:189:14:189:25 | call to method NullTest1 | +| not null | Guards.cs:189:14:189:25 | this access | +| not null | Guards.cs:190:13:190:19 | access to type Console | +| not null | Guards.cs:190:13:190:32 | call to method WriteLine | +| not null | Guards.cs:191:13:191:25 | !... | +| not null | Guards.cs:191:14:191:25 | call to method NullTest2 | +| not null | Guards.cs:191:14:191:25 | this access | +| not null | Guards.cs:192:13:192:19 | access to type Console | +| not null | Guards.cs:192:13:192:32 | call to method WriteLine | +| not null | Guards.cs:193:13:193:25 | !... | +| not null | Guards.cs:193:14:193:25 | call to method NullTest3 | +| not null | Guards.cs:193:14:193:25 | this access | +| not null | Guards.cs:194:13:194:19 | access to type Console | +| not null | Guards.cs:194:13:194:32 | call to method WriteLine | +| not null | Guards.cs:195:13:195:27 | call to method NotNullTest4 | +| not null | Guards.cs:195:13:195:27 | this access | +| not null | Guards.cs:196:13:196:19 | access to type Console | +| not null | Guards.cs:196:13:196:32 | call to method WriteLine | +| not null | Guards.cs:197:13:197:29 | !... | +| not null | Guards.cs:197:14:197:29 | call to method NullTestWrong | +| not null | Guards.cs:197:14:197:29 | this access | +| not null | Guards.cs:198:13:198:19 | access to type Console | +| not null | Guards.cs:198:13:198:32 | call to method WriteLine | +| not null | Guards.cs:203:13:203:21 | ... != ... | +| not null | Guards.cs:205:13:205:13 | access to parameter o | +| not null | Guards.cs:206:33:206:36 | access to parameter args | +| not null | Guards.cs:208:17:208:17 | access to parameter o | +| not null | Guards.cs:215:13:215:14 | access to local variable b2 | +| not null | Guards.cs:215:13:215:21 | Boolean b2 = ... | +| not null | Guards.cs:215:18:215:21 | true | +| not null | Guards.cs:216:13:216:14 | access to parameter b1 | +| not null | Guards.cs:217:13:217:14 | access to local variable b2 | +| not null | Guards.cs:217:13:217:22 | ... = ... | +| not null | Guards.cs:217:18:217:22 | false | +| not null | Guards.cs:218:17:218:18 | access to local variable b2 | +| not null | Guards.cs:220:18:220:21 | true | +| not null | Guards.cs:228:13:228:14 | access to local variable b2 | +| not null | Guards.cs:228:13:228:22 | Boolean b2 = ... | +| not null | Guards.cs:228:18:228:22 | false | +| not null | Guards.cs:229:13:229:14 | access to parameter b1 | +| not null | Guards.cs:230:13:230:14 | access to local variable b2 | +| not null | Guards.cs:230:13:230:21 | ... = ... | +| not null | Guards.cs:230:18:230:21 | true | +| not null | Guards.cs:231:17:231:18 | access to local variable b2 | +| not null | Guards.cs:233:18:233:21 | true | +| not null | Guards.cs:241:13:241:13 | access to local variable i | +| not null | Guards.cs:241:13:241:17 | Int32 i = ... | +| not null | Guards.cs:241:17:241:17 | 0 | +| not null | Guards.cs:242:13:242:13 | access to parameter b | +| not null | Guards.cs:243:13:243:13 | access to local variable i | +| not null | Guards.cs:243:13:243:17 | ... = ... | +| not null | Guards.cs:243:17:243:17 | 1 | +| not null | Guards.cs:244:17:244:17 | access to local variable i | +| not null | Guards.cs:246:18:246:18 | 1 | +| not null | Guards.cs:255:13:255:13 | access to local variable e | +| not null | Guards.cs:255:13:255:19 | E e = ... | +| not null | Guards.cs:255:17:255:17 | access to type E | +| not null | Guards.cs:255:17:255:19 | access to constant A | +| not null | Guards.cs:256:13:256:13 | access to parameter b | +| not null | Guards.cs:257:13:257:13 | access to local variable e | +| not null | Guards.cs:257:13:257:19 | ... = ... | +| not null | Guards.cs:257:17:257:17 | access to type E | +| not null | Guards.cs:257:17:257:19 | access to constant B | +| not null | Guards.cs:258:17:258:17 | access to local variable e | +| not null | Guards.cs:260:18:260:18 | access to type E | +| not null | Guards.cs:260:18:260:20 | access to constant B | +| not null | Guards.cs:268:13:268:41 | call to operator == | +| not null | Guards.cs:268:30:268:41 | call to method GetType | +| not null | Guards.cs:269:13:269:14 | access to parameter o1 | +| not null | Guards.cs:270:13:270:42 | call to operator == | +| not null | Guards.cs:270:30:270:31 | access to parameter o2 | +| not null | Guards.cs:278:13:278:26 | access to type Action | +| not null | Guards.cs:279:17:279:17 | access to parameter o | +| not null | Guards.cs:281:17:281:17 | access to local variable a | +| not null | Guards.cs:282:13:282:14 | "" | +| not null | Guards.cs:283:17:283:17 | access to parameter o | +| not null | Guards.cs:287:17:287:17 | access to parameter o | +| not null | Guards.cs:293:13:293:14 | access to local variable b2 | +| not null | Guards.cs:293:13:293:21 | Boolean b2 = ... | +| not null | Guards.cs:293:18:293:21 | true | +| not null | Guards.cs:294:13:294:14 | access to parameter b1 | +| not null | Guards.cs:295:13:295:14 | access to local variable b2 | +| not null | Guards.cs:295:13:295:22 | ... = ... | +| not null | Guards.cs:295:18:295:22 | false | +| not null | Guards.cs:296:16:296:17 | access to local variable b2 | +| not null | Guards.cs:296:16:300:9 | ... switch { ... } | +| not null | Guards.cs:298:13:298:16 | true | +| not null | Guards.cs:298:13:298:21 | ... => ... | +| not null | Guards.cs:298:21:298:21 | 0 | +| not null | Guards.cs:299:13:299:13 | _ | +| not null | Guards.cs:299:13:299:18 | ... => ... | +| not null | Guards.cs:299:18:299:18 | 1 | +| not null | Guards.cs:305:13:305:14 | access to local variable b2 | +| not null | Guards.cs:305:13:305:22 | Boolean b2 = ... | +| not null | Guards.cs:305:18:305:22 | false | +| not null | Guards.cs:306:13:306:14 | access to parameter b1 | +| not null | Guards.cs:307:13:307:14 | access to local variable b2 | +| not null | Guards.cs:307:13:307:21 | ... = ... | +| not null | Guards.cs:307:18:307:21 | true | +| not null | Guards.cs:308:16:308:17 | access to local variable b2 | +| not null | Guards.cs:308:16:312:9 | ... switch { ... } | +| not null | Guards.cs:310:13:310:16 | true | +| not null | Guards.cs:310:13:310:21 | ... => ... | +| not null | Guards.cs:310:21:310:21 | 0 | +| not null | Guards.cs:311:13:311:13 | _ | +| not null | Guards.cs:311:13:311:18 | ... => ... | +| not null | Guards.cs:311:18:311:18 | 1 | +| not null | Guards.cs:317:13:317:13 | access to local variable i | +| not null | Guards.cs:317:13:317:17 | Int32 i = ... | +| not null | Guards.cs:317:17:317:17 | 0 | +| not null | Guards.cs:318:13:318:13 | access to parameter b | +| not null | Guards.cs:319:13:319:13 | access to local variable i | +| not null | Guards.cs:319:13:319:17 | ... = ... | +| not null | Guards.cs:319:17:319:17 | 1 | +| not null | Guards.cs:320:16:320:16 | access to local variable i | +| not null | Guards.cs:320:16:324:9 | ... switch { ... } | +| not null | Guards.cs:322:13:322:13 | 1 | +| not null | Guards.cs:322:13:322:18 | ... => ... | +| not null | Guards.cs:322:18:322:18 | 0 | +| not null | Guards.cs:323:13:323:13 | _ | +| not null | Guards.cs:323:13:323:18 | ... => ... | +| not null | Guards.cs:323:18:323:18 | 1 | +| not null | Guards.cs:329:13:329:13 | access to local variable e | +| not null | Guards.cs:329:13:329:19 | E e = ... | +| not null | Guards.cs:329:17:329:17 | access to type E | +| not null | Guards.cs:329:17:329:19 | access to constant A | +| not null | Guards.cs:330:13:330:13 | access to parameter b | +| not null | Guards.cs:331:13:331:13 | access to local variable e | +| not null | Guards.cs:331:13:331:19 | ... = ... | +| not null | Guards.cs:331:17:331:17 | access to type E | +| not null | Guards.cs:331:17:331:19 | access to constant B | +| not null | Guards.cs:332:16:332:16 | access to local variable e | +| not null | Guards.cs:332:16:336:9 | ... switch { ... } | +| not null | Guards.cs:334:13:334:13 | access to type E | +| not null | Guards.cs:334:13:334:15 | access to constant B | +| not null | Guards.cs:334:13:334:20 | ... => ... | +| not null | Guards.cs:334:20:334:20 | 0 | +| not null | Guards.cs:335:13:335:13 | _ | +| not null | Guards.cs:335:13:335:18 | ... => ... | +| not null | Guards.cs:335:18:335:18 | 1 | +| not null | Guards.cs:341:20:341:20 | access to parameter b | +| not null | Guards.cs:341:31:341:32 | "" | +| not null | Guards.cs:342:13:342:21 | ... != ... | +| not null | Guards.cs:342:13:342:27 | ... && ... | +| not null | Guards.cs:342:26:342:27 | !... | +| not null | Guards.cs:342:27:342:27 | access to parameter b | +| not null | Guards.cs:343:13:343:19 | access to type Console | +| not null | Guards.cs:343:13:343:39 | call to method WriteLine | +| not null | Guards.cs:343:31:343:31 | access to local variable s | +| not null | Guards.cs:343:31:343:38 | access to property Length | +| not null | Guards.cs:348:13:348:25 | ... is ... | +| not null | Guards.cs:349:13:349:13 | access to parameter o | | null | Assert.cs:9:24:9:27 | null | | null | Assert.cs:10:27:10:30 | null | | null | Assert.cs:16:24:16:27 | null | +| null | Assert.cs:18:27:18:27 | access to local variable s | | null | Assert.cs:23:24:23:27 | null | | null | Assert.cs:30:24:30:27 | null | | null | Assert.cs:31:28:31:31 | null | +| null | Assert.cs:32:27:32:27 | access to local variable s | | null | Assert.cs:37:24:37:27 | null | | null | Assert.cs:38:28:38:31 | null | | null | Assert.cs:44:24:44:27 | null | | null | Assert.cs:45:29:45:32 | null | +| null | Assert.cs:46:27:46:27 | access to local variable s | | null | Assert.cs:51:24:51:27 | null | | null | Assert.cs:52:29:52:32 | null | | null | Assert.cs:58:24:58:27 | null | @@ -388,8 +897,10 @@ abstractValue | null | Assert.cs:66:29:66:32 | null | | null | Assert.cs:72:24:72:27 | null | | null | Assert.cs:73:28:73:31 | null | +| null | Assert.cs:74:27:74:27 | access to local variable s | | null | Assert.cs:79:24:79:27 | null | | null | Assert.cs:80:29:80:32 | null | +| null | Assert.cs:81:27:81:27 | access to local variable s | | null | Guards.cs:10:21:10:24 | null | | null | Guards.cs:24:18:24:21 | null | | null | Guards.cs:32:47:32:50 | null | @@ -408,85 +919,48 @@ abstractValue | null | Guards.cs:71:17:71:20 | null | | null | Guards.cs:72:31:72:31 | access to parameter s | | null | Guards.cs:88:26:88:29 | null | +| null | Guards.cs:91:31:91:31 | access to parameter s | | null | Guards.cs:104:42:104:45 | null | | null | Guards.cs:106:9:106:25 | ... = ... | | null | Guards.cs:106:22:106:25 | null | +| null | Guards.cs:107:27:107:36 | access to property Property | +| null | Guards.cs:108:27:108:36 | access to property Property | | null | Guards.cs:115:52:115:55 | null | | null | Guards.cs:117:9:117:25 | ... = ... | | null | Guards.cs:117:22:117:25 | null | +| null | Guards.cs:118:27:118:36 | access to property Property | +| null | Guards.cs:119:27:119:36 | access to property Property | +| null | Guards.cs:130:18:130:21 | null | +| null | Guards.cs:131:20:131:20 | access to parameter s | +| null | Guards.cs:139:16:139:16 | access to parameter s | +| null | Guards.cs:159:18:159:21 | null | +| null | Guards.cs:160:24:160:24 | access to parameter o | | null | Guards.cs:172:39:172:42 | null | +| null | Guards.cs:176:18:176:21 | null | | null | Guards.cs:181:39:181:42 | null | | null | Guards.cs:185:43:185:46 | null | | null | Guards.cs:203:18:203:21 | null | +| null | Guards.cs:284:13:284:16 | null | +| null | Guards.cs:285:17:285:17 | access to parameter o | | null | Guards.cs:341:24:341:27 | null | | null | Guards.cs:342:18:342:21 | null | +| null | Guards.cs:348:22:348:25 | null | +| true | Assert.cs:73:36:73:36 | access to parameter b | +| true | Assert.cs:80:37:80:37 | access to parameter b | | true | Assert.cs:86:61:86:64 | true | +| true | Assert.cs:94:16:94:17 | access to parameter b1 | | true | Guards.cs:177:20:177:23 | true | | true | Guards.cs:181:46:181:49 | true | +| true | Guards.cs:185:38:185:60 | ... ? ... : ... | | true | Guards.cs:185:50:185:53 | true | | true | Guards.cs:185:57:185:60 | true | | true | Guards.cs:215:18:215:21 | true | | true | Guards.cs:220:18:220:21 | true | +| true | Guards.cs:230:13:230:21 | ... = ... | | true | Guards.cs:230:18:230:21 | true | | true | Guards.cs:233:18:233:21 | true | | true | Guards.cs:293:18:293:21 | true | | true | Guards.cs:298:13:298:16 | true | +| true | Guards.cs:307:13:307:21 | ... = ... | | true | Guards.cs:307:18:307:21 | true | | true | Guards.cs:310:13:310:16 | true | -dualValue -| empty | non-empty | -| false | true | -| match 1 | non-match 1 | -| match 1 | non-match 1 | -| match "" | non-match "" | -| match "" | non-match "" | -| match Action a | non-match Action a | -| match Action a | non-match Action a | -| match _ | non-match _ | -| match _ | non-match _ | -| match _ | non-match _ | -| match _ | non-match _ | -| match _ | non-match _ | -| match access to constant B | non-match access to constant B | -| match access to constant B | non-match access to constant B | -| match access to type Action | non-match access to type Action | -| match access to type Action | non-match access to type Action | -| match null | non-match null | -| match null | non-match null | -| match true | non-match true | -| match true | non-match true | -| match true | non-match true | -| match true | non-match true | -| non-empty | empty | -| non-match 1 | match 1 | -| non-match 1 | match 1 | -| non-match "" | match "" | -| non-match "" | match "" | -| non-match Action a | match Action a | -| non-match Action a | match Action a | -| non-match _ | match _ | -| non-match _ | match _ | -| non-match _ | match _ | -| non-match _ | match _ | -| non-match _ | match _ | -| non-match access to constant B | match access to constant B | -| non-match access to constant B | match access to constant B | -| non-match access to type Action | match access to type Action | -| non-match access to type Action | match access to type Action | -| non-match null | match null | -| non-match null | match null | -| non-match true | match true | -| non-match true | match true | -| non-match true | match true | -| non-match true | match true | -| non-null | null | -| null | non-null | -| true | false | -singletonValue -| 0 | -| 1 | -| 3 | -| 10 | -| false | -| null | -| true | diff --git a/csharp/ql/test/library-tests/controlflow/guards/AbstractValue.ql b/csharp/ql/test/library-tests/controlflow/guards/AbstractValue.ql index e433004e3d50..a28da604ff62 100644 --- a/csharp/ql/test/library-tests/controlflow/guards/AbstractValue.ql +++ b/csharp/ql/test/library-tests/controlflow/guards/AbstractValue.ql @@ -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() } diff --git a/csharp/ql/test/library-tests/controlflow/guards/BooleanGuardedExpr.expected b/csharp/ql/test/library-tests/controlflow/guards/BooleanGuardedExpr.expected index 6e9829600eb3..649e83623705 100644 --- a/csharp/ql/test/library-tests/controlflow/guards/BooleanGuardedExpr.expected +++ b/csharp/ql/test/library-tests/controlflow/guards/BooleanGuardedExpr.expected @@ -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 | diff --git a/csharp/ql/test/library-tests/controlflow/guards/GuardedControlFlowNode.expected b/csharp/ql/test/library-tests/controlflow/guards/GuardedControlFlowNode.expected index c04f1459790b..b34cae88b800 100644 --- a/csharp/ql/test/library-tests/controlflow/guards/GuardedControlFlowNode.expected +++ b/csharp/ql/test/library-tests/controlflow/guards/GuardedControlFlowNode.expected @@ -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 | -| 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 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 | -| 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 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 | +| 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 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 | -| 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 | -| 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 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 | -| 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 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 | +| 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 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 | -| 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 | diff --git a/csharp/ql/test/library-tests/controlflow/guards/GuardedExpr.expected b/csharp/ql/test/library-tests/controlflow/guards/GuardedExpr.expected index ec693ae3cdd8..b34cae88b800 100644 --- a/csharp/ql/test/library-tests/controlflow/guards/GuardedExpr.expected +++ b/csharp/ql/test/library-tests/controlflow/guards/GuardedExpr.expected @@ -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 | -| 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 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 | -| 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 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 | +| 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 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 | -| 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 | -| 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 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 | -| 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 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 | +| 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 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 | -| 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 | diff --git a/csharp/ql/test/library-tests/controlflow/guards/Implications.expected b/csharp/ql/test/library-tests/controlflow/guards/Implications.expected deleted file mode 100644 index 9a9bdd82aa93..000000000000 --- a/csharp/ql/test/library-tests/controlflow/guards/Implications.expected +++ /dev/null @@ -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 | false | Collections.cs:44:17:44:20 | access to parameter args | empty | -| Collections.cs:44:17:44:26 | call to method Any | 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 | empty | -| Collections.cs:63:9:63:9 | access to local variable x | non-empty | Collections.cs:62:17:62:55 | call to method ToList | 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 | non-null | -| Collections.cs:63:9:63:9 | access to local variable x | null | Collections.cs:62:17:62:55 | call to method ToList | null | -| Collections.cs:64:13:64:13 | access to local variable x | non-null | Collections.cs:62:17:62:55 | call to method ToList | non-null | -| Collections.cs:64:13:64:13 | access to local variable x | null | Collections.cs:62:17:62:55 | call to method ToList | 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 | non-null | -| Collections.cs:66:13:66:13 | access to local variable x | null | Collections.cs:62:17:62:55 | call to method ToList | null | -| Collections.cs:67:13:67:13 | access to local variable x | non-null | Collections.cs:62:17:62:55 | call to method ToList | non-null | -| Collections.cs:67:13:67:13 | access to local variable x | null | Collections.cs:62:17:62:55 | call to method ToList | 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 | 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 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 | 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 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 | 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 | diff --git a/csharp/ql/test/library-tests/controlflow/guards/Implications.ql b/csharp/ql/test/library-tests/controlflow/guards/Implications.ql deleted file mode 100644 index 0c185b1a2dc0..000000000000 --- a/csharp/ql/test/library-tests/controlflow/guards/Implications.ql +++ /dev/null @@ -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) -} diff --git a/csharp/ql/test/library-tests/controlflow/guards/MatchingGuardedExpr.expected b/csharp/ql/test/library-tests/controlflow/guards/MatchingGuardedExpr.expected deleted file mode 100644 index 7087e3d54932..000000000000 --- a/csharp/ql/test/library-tests/controlflow/guards/MatchingGuardedExpr.expected +++ /dev/null @@ -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 | 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 | 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 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 | 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 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 | 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 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 | 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 | 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 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 | 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 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 | 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 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 | diff --git a/csharp/ql/test/library-tests/controlflow/guards/MatchingGuardedExpr.ql b/csharp/ql/test/library-tests/controlflow/guards/MatchingGuardedExpr.ql deleted file mode 100644 index 93b8d565834b..000000000000 --- a/csharp/ql/test/library-tests/controlflow/guards/MatchingGuardedExpr.ql +++ /dev/null @@ -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 diff --git a/csharp/ql/test/query-tests/API Abuse/FormatInvalid/FormatInvalid.expected b/csharp/ql/test/query-tests/API Abuse/FormatInvalid/FormatInvalid.expected index a33793ae461a..30cb9112c3d5 100644 --- a/csharp/ql/test/query-tests/API Abuse/FormatInvalid/FormatInvalid.expected +++ b/csharp/ql/test/query-tests/API Abuse/FormatInvalid/FormatInvalid.expected @@ -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 | "}" | diff --git a/csharp/ql/test/query-tests/Nullness/C.cs b/csharp/ql/test/query-tests/Nullness/C.cs index 405dceb74d5a..8c6a0226f36f 100644 --- a/csharp/ql/test/query-tests/Nullness/C.cs +++ b/csharp/ql/test/query-tests/Nullness/C.cs @@ -74,7 +74,7 @@ public void AssertNotNullTest() public void TestNull() { - object o = null; + object o = Maybe() ? null : new object(); if (IsNotNull(o)) o.ToString(); // GOOD diff --git a/csharp/ql/test/query-tests/Nullness/EqualityCheck.expected b/csharp/ql/test/query-tests/Nullness/EqualityCheck.expected index 7bb568f695a7..5ba1fdf87656 100644 --- a/csharp/ql/test/query-tests/Nullness/EqualityCheck.expected +++ b/csharp/ql/test/query-tests/Nullness/EqualityCheck.expected @@ -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 | diff --git a/csharp/ql/test/query-tests/Nullness/EqualityCheck.ql b/csharp/ql/test/query-tests/Nullness/EqualityCheck.ql index 3036911b5a66..1140d4e9a9dd 100644 --- a/csharp/ql/test/query-tests/Nullness/EqualityCheck.ql +++ b/csharp/ql/test/query-tests/Nullness/EqualityCheck.ql @@ -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 diff --git a/csharp/ql/test/query-tests/Nullness/Forwarding.cs b/csharp/ql/test/query-tests/Nullness/Forwarding.cs index 122c5036567b..fc7b7eb2e8fb 100644 --- a/csharp/ql/test/query-tests/Nullness/Forwarding.cs +++ b/csharp/ql/test/query-tests/Nullness/Forwarding.cs @@ -28,7 +28,7 @@ void Fn() 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)) diff --git a/csharp/ql/test/query-tests/Nullness/Implications.expected b/csharp/ql/test/query-tests/Nullness/Implications.expected deleted file mode 100644 index a3e70f0474b0..000000000000 --- a/csharp/ql/test/query-tests/Nullness/Implications.expected +++ /dev/null @@ -1,1509 +0,0 @@ -| A.cs:8:15:8:32 | access to local variable synchronizedAlways | non-null | A.cs:7:37:7:40 | null | non-null | -| A.cs:8:15:8:32 | access to local variable synchronizedAlways | null | A.cs:7:37:7:40 | null | null | -| A.cs:10:13:10:30 | access to local variable synchronizedAlways | non-null | A.cs:7:37:7:40 | null | non-null | -| A.cs:10:13:10:30 | access to local variable synchronizedAlways | null | A.cs:7:37:7:40 | null | null | -| A.cs:17:9:17:17 | access to local variable arrayNull | empty | A.cs:16:27:16:30 | null | empty | -| A.cs:17:9:17:17 | access to local variable arrayNull | non-empty | A.cs:16:27:16:30 | null | non-empty | -| A.cs:17:9:17:17 | access to local variable arrayNull | non-null | A.cs:16:27:16:30 | null | non-null | -| A.cs:17:9:17:17 | access to local variable arrayNull | null | A.cs:16:27:16:30 | null | null | -| A.cs:21:9:21:15 | access to local variable arrayOk | empty | A.cs:20:19:20:29 | array creation of type Int32[] | empty | -| A.cs:21:9:21:15 | access to local variable arrayOk | non-empty | A.cs:20:19:20:29 | array creation of type Int32[] | non-empty | -| A.cs:21:9:21:15 | access to local variable arrayOk | non-null | A.cs:20:19:20:29 | array creation of type Int32[] | non-null | -| A.cs:21:9:21:15 | access to local variable arrayOk | null | A.cs:20:19:20:29 | array creation of type Int32[] | null | -| A.cs:31:27:31:37 | access to local variable arrayAccess | empty | A.cs:26:29:26:32 | null | empty | -| A.cs:31:27:31:37 | access to local variable arrayAccess | non-empty | A.cs:26:29:26:32 | null | non-empty | -| A.cs:31:27:31:37 | access to local variable arrayAccess | non-null | A.cs:26:29:26:32 | null | non-null | -| A.cs:31:27:31:37 | access to local variable arrayAccess | null | A.cs:26:29:26:32 | null | null | -| A.cs:32:27:32:37 | access to local variable fieldAccess | empty | A.cs:27:32:27:35 | null | empty | -| A.cs:32:27:32:37 | access to local variable fieldAccess | non-empty | A.cs:27:32:27:35 | null | non-empty | -| A.cs:32:27:32:37 | access to local variable fieldAccess | non-null | A.cs:27:32:27:35 | null | non-null | -| A.cs:32:27:32:37 | access to local variable fieldAccess | null | A.cs:27:32:27:35 | null | null | -| A.cs:33:28:33:39 | access to local variable methodAccess | non-null | A.cs:28:31:28:34 | null | non-null | -| A.cs:33:28:33:39 | access to local variable methodAccess | null | A.cs:28:31:28:34 | null | null | -| A.cs:34:27:34:36 | access to local variable methodCall | non-null | A.cs:29:29:29:32 | null | non-null | -| A.cs:34:27:34:36 | access to local variable methodCall | null | A.cs:29:29:29:32 | null | null | -| A.cs:36:27:36:37 | access to local variable arrayAccess | non-null | A.cs:26:29:26:32 | null | non-null | -| A.cs:36:27:36:37 | access to local variable arrayAccess | null | A.cs:26:29:26:32 | null | null | -| A.cs:37:27:37:37 | access to local variable fieldAccess | non-null | A.cs:27:32:27:35 | null | non-null | -| A.cs:37:27:37:37 | access to local variable fieldAccess | null | A.cs:27:32:27:35 | null | null | -| A.cs:38:15:38:26 | access to local variable methodAccess | non-null | A.cs:28:31:28:34 | null | non-null | -| A.cs:38:15:38:26 | access to local variable methodAccess | null | A.cs:28:31:28:34 | null | null | -| A.cs:39:27:39:36 | access to local variable methodCall | non-null | A.cs:29:29:29:32 | null | non-null | -| A.cs:39:27:39:36 | access to local variable methodCall | null | A.cs:29:29:29:32 | null | null | -| A.cs:49:25:49:30 | access to local variable varRef | non-null | A.cs:48:25:48:28 | null | non-null | -| A.cs:49:25:49:30 | access to local variable varRef | null | A.cs:48:25:48:28 | null | null | -| A.cs:50:9:50:14 | access to local variable varRef | non-null | A.cs:48:25:48:28 | null | non-null | -| A.cs:50:9:50:14 | access to local variable varRef | null | A.cs:48:25:48:28 | null | null | -| A.cs:53:25:53:30 | access to local variable varRef | non-null | A.cs:52:18:52:21 | null | non-null | -| A.cs:53:25:53:30 | access to local variable varRef | null | A.cs:52:18:52:21 | null | null | -| A.cs:61:36:61:45 | ... = ... | empty | A.cs:61:36:61:41 | access to local variable actual | empty | -| A.cs:61:36:61:45 | ... = ... | empty | A.cs:61:45:61:45 | access to parameter e | empty | -| A.cs:61:36:61:45 | ... = ... | non-empty | A.cs:61:36:61:41 | access to local variable actual | non-empty | -| A.cs:61:36:61:45 | ... = ... | non-empty | A.cs:61:45:61:45 | access to parameter e | non-empty | -| A.cs:61:36:61:45 | ... = ... | non-null | A.cs:61:36:61:41 | access to local variable actual | non-null | -| A.cs:61:36:61:45 | ... = ... | non-null | A.cs:61:45:61:45 | access to parameter e | non-null | -| A.cs:61:36:61:45 | ... = ... | null | A.cs:61:36:61:41 | access to local variable actual | null | -| A.cs:61:36:61:45 | ... = ... | null | A.cs:61:45:61:45 | access to parameter e | null | -| A.cs:63:9:63:11 | access to local variable fun | non-null | A.cs:61:26:61:45 | (...) => ... | non-null | -| A.cs:63:9:63:11 | access to local variable fun | null | A.cs:61:26:61:45 | (...) => ... | null | -| 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:13:13:13:25 | ... ? ... : ... | non-null | Assert.cs:13:13:13:13 | access to parameter b | false | -| Assert.cs:13:13:13:25 | ... ? ... : ... | non-null | Assert.cs:13:24:13:25 | "" | non-null | -| Assert.cs:13:13:13:25 | ... ? ... : ... | null | Assert.cs:13:13:13:13 | access to parameter b | true | -| Assert.cs:13:13:13:25 | ... ? ... : ... | null | Assert.cs:13:17:13:20 | null | null | -| Assert.cs:14:23:14:23 | access to local variable s | empty | Assert.cs:13:13:13:25 | ... ? ... : ... | empty | -| Assert.cs:14:23:14:23 | access to local variable s | non-empty | Assert.cs:13:13:13:25 | ... ? ... : ... | non-empty | -| Assert.cs:14:23:14:23 | access to local variable s | non-null | Assert.cs:13:13:13:13 | access to parameter b | false | -| Assert.cs:14:23:14:23 | access to local variable s | non-null | Assert.cs:13:13:13:25 | ... ? ... : ... | non-null | -| Assert.cs:14:23:14:23 | access to local variable s | null | Assert.cs:13:13:13:13 | access to parameter b | true | -| Assert.cs:14:23:14:23 | access to local variable s | null | Assert.cs:13:13:13:25 | ... ? ... : ... | null | -| Assert.cs:15:27:15:27 | access to local variable s | non-null | Assert.cs:13:13:13:25 | ... ? ... : ... | non-null | -| Assert.cs:15:27:15:27 | access to local variable s | null | Assert.cs:13:13:13:25 | ... ? ... : ... | null | -| Assert.cs:17:13:17:25 | ... ? ... : ... | non-null | Assert.cs:17:13:17:13 | access to parameter b | false | -| Assert.cs:17:13:17:25 | ... ? ... : ... | non-null | Assert.cs:17:24:17:25 | "" | non-null | -| Assert.cs:17:13:17:25 | ... ? ... : ... | null | Assert.cs:17:13:17:13 | access to parameter b | true | -| Assert.cs:17:13:17:25 | ... ? ... : ... | null | Assert.cs:17:17:17:20 | null | null | -| Assert.cs:18:26:18:26 | access to local variable s | empty | Assert.cs:17:13:17:25 | ... ? ... : ... | empty | -| Assert.cs:18:26:18:26 | access to local variable s | non-empty | Assert.cs:17:13:17:25 | ... ? ... : ... | non-empty | -| Assert.cs:18:26:18:26 | access to local variable s | non-null | Assert.cs:17:13:17:13 | access to parameter b | false | -| Assert.cs:18:26:18:26 | access to local variable s | non-null | Assert.cs:17:13:17:25 | ... ? ... : ... | non-null | -| Assert.cs:18:26:18:26 | access to local variable s | null | Assert.cs:17:13:17:13 | access to parameter b | true | -| Assert.cs:18:26:18:26 | access to local variable s | null | Assert.cs:17:13:17:25 | ... ? ... : ... | null | -| Assert.cs:19:27:19:27 | access to local variable s | non-null | Assert.cs:17:13:17:25 | ... ? ... : ... | non-null | -| Assert.cs:19:27:19:27 | access to local variable s | null | Assert.cs:17:13:17:25 | ... ? ... : ... | null | -| Assert.cs:21:13:21:25 | ... ? ... : ... | non-null | Assert.cs:21:13:21:13 | access to parameter b | false | -| Assert.cs:21:13:21:25 | ... ? ... : ... | non-null | Assert.cs:21:24:21:25 | "" | non-null | -| Assert.cs:21:13:21:25 | ... ? ... : ... | null | Assert.cs:21:13:21:13 | access to parameter b | true | -| Assert.cs:21:13:21:25 | ... ? ... : ... | null | Assert.cs:21:17:21:20 | null | null | -| Assert.cs:22:23:22:23 | access to local variable s | empty | Assert.cs:21:13:21:25 | ... ? ... : ... | empty | -| Assert.cs:22:23:22:23 | access to local variable s | non-empty | Assert.cs:21:13:21:25 | ... ? ... : ... | non-empty | -| Assert.cs:22:23:22:23 | access to local variable s | non-null | Assert.cs:21:13:21:25 | ... ? ... : ... | non-null | -| Assert.cs:22:23:22:23 | access to local variable s | null | Assert.cs:21:13:21:25 | ... ? ... : ... | null | -| Assert.cs:22:23:22:31 | ... == ... | false | Assert.cs:21:13:21:13 | access to parameter b | false | -| Assert.cs:22:23:22:31 | ... == ... | false | Assert.cs:22:23:22:23 | access to local variable s | non-null | -| Assert.cs:22:23:22:31 | ... == ... | true | Assert.cs:21:13:21:13 | access to parameter b | true | -| Assert.cs:22:23:22:31 | ... == ... | true | Assert.cs:22:23:22:23 | access to local variable s | null | -| Assert.cs:23:27:23:27 | access to local variable s | non-null | Assert.cs:21:13:21:25 | ... ? ... : ... | non-null | -| Assert.cs:23:27:23:27 | access to local variable s | null | Assert.cs:21:13:21:25 | ... ? ... : ... | null | -| Assert.cs:25:13:25:25 | ... ? ... : ... | non-null | Assert.cs:25:13:25:13 | access to parameter b | false | -| Assert.cs:25:13:25:25 | ... ? ... : ... | non-null | Assert.cs:25:24:25:25 | "" | non-null | -| Assert.cs:25:13:25:25 | ... ? ... : ... | null | Assert.cs:25:13:25:13 | access to parameter b | true | -| Assert.cs:25:13:25:25 | ... ? ... : ... | null | Assert.cs:25:17:25:20 | null | null | -| Assert.cs:26:23:26:23 | access to local variable s | empty | Assert.cs:25:13:25:25 | ... ? ... : ... | empty | -| Assert.cs:26:23:26:23 | access to local variable s | non-empty | Assert.cs:25:13:25:25 | ... ? ... : ... | non-empty | -| Assert.cs:26:23:26:23 | access to local variable s | non-null | Assert.cs:25:13:25:25 | ... ? ... : ... | non-null | -| Assert.cs:26:23:26:23 | access to local variable s | null | Assert.cs:25:13:25:25 | ... ? ... : ... | null | -| Assert.cs:26:23:26:31 | ... != ... | false | Assert.cs:25:13:25:13 | access to parameter b | true | -| Assert.cs:26:23:26:31 | ... != ... | false | Assert.cs:26:23:26:23 | access to local variable s | null | -| Assert.cs:26:23:26:31 | ... != ... | true | Assert.cs:25:13:25:13 | access to parameter b | false | -| Assert.cs:26:23:26:31 | ... != ... | true | Assert.cs:26:23:26:23 | access to local variable s | non-null | -| Assert.cs:27:27:27:27 | access to local variable s | non-null | Assert.cs:25:13:25:25 | ... ? ... : ... | non-null | -| Assert.cs:27:27:27:27 | access to local variable s | null | Assert.cs:25:13:25:25 | ... ? ... : ... | null | -| Assert.cs:29:13:29:25 | ... ? ... : ... | non-null | Assert.cs:29:13:29:13 | access to parameter b | false | -| Assert.cs:29:13:29:25 | ... ? ... : ... | non-null | Assert.cs:29:24:29:25 | "" | non-null | -| Assert.cs:29:13:29:25 | ... ? ... : ... | null | Assert.cs:29:13:29:13 | access to parameter b | true | -| Assert.cs:29:13:29:25 | ... ? ... : ... | null | Assert.cs:29:17:29:20 | null | null | -| Assert.cs:30:24:30:24 | access to local variable s | empty | Assert.cs:29:13:29:25 | ... ? ... : ... | empty | -| Assert.cs:30:24:30:24 | access to local variable s | non-empty | Assert.cs:29:13:29:25 | ... ? ... : ... | non-empty | -| Assert.cs:30:24:30:24 | access to local variable s | non-null | Assert.cs:29:13:29:25 | ... ? ... : ... | non-null | -| Assert.cs:30:24:30:24 | access to local variable s | null | Assert.cs:29:13:29:25 | ... ? ... : ... | null | -| Assert.cs:30:24:30:32 | ... != ... | false | Assert.cs:29:13:29:13 | access to parameter b | true | -| Assert.cs:30:24:30:32 | ... != ... | false | Assert.cs:30:24:30:24 | access to local variable s | null | -| Assert.cs:30:24:30:32 | ... != ... | true | Assert.cs:29:13:29:13 | access to parameter b | false | -| Assert.cs:30:24:30:32 | ... != ... | true | Assert.cs:30:24:30:24 | access to local variable s | non-null | -| Assert.cs:31:27:31:27 | access to local variable s | non-null | Assert.cs:29:13:29:25 | ... ? ... : ... | non-null | -| Assert.cs:31:27:31:27 | access to local variable s | null | Assert.cs:29:13:29:25 | ... ? ... : ... | null | -| Assert.cs:33:13:33:25 | ... ? ... : ... | non-null | Assert.cs:33:13:33:13 | access to parameter b | false | -| Assert.cs:33:13:33:25 | ... ? ... : ... | non-null | Assert.cs:33:24:33:25 | "" | non-null | -| Assert.cs:33:13:33:25 | ... ? ... : ... | null | Assert.cs:33:13:33:13 | access to parameter b | true | -| Assert.cs:33:13:33:25 | ... ? ... : ... | null | Assert.cs:33:17:33:20 | null | null | -| Assert.cs:34:24:34:24 | access to local variable s | empty | Assert.cs:33:13:33:25 | ... ? ... : ... | empty | -| Assert.cs:34:24:34:24 | access to local variable s | non-empty | Assert.cs:33:13:33:25 | ... ? ... : ... | non-empty | -| Assert.cs:34:24:34:24 | access to local variable s | non-null | Assert.cs:33:13:33:25 | ... ? ... : ... | non-null | -| Assert.cs:34:24:34:24 | access to local variable s | null | Assert.cs:33:13:33:25 | ... ? ... : ... | null | -| Assert.cs:34:24:34:32 | ... == ... | false | Assert.cs:33:13:33:13 | access to parameter b | false | -| Assert.cs:34:24:34:32 | ... == ... | false | Assert.cs:34:24:34:24 | access to local variable s | non-null | -| Assert.cs:34:24:34:32 | ... == ... | true | Assert.cs:33:13:33:13 | access to parameter b | true | -| Assert.cs:34:24:34:32 | ... == ... | true | Assert.cs:34:24:34:24 | access to local variable s | null | -| Assert.cs:35:27:35:27 | access to local variable s | non-null | Assert.cs:33:13:33:25 | ... ? ... : ... | non-null | -| Assert.cs:35:27:35:27 | access to local variable s | null | Assert.cs:33:13:33:25 | ... ? ... : ... | null | -| Assert.cs:37:13:37:25 | ... ? ... : ... | non-null | Assert.cs:37:13:37:13 | access to parameter b | false | -| Assert.cs:37:13:37:25 | ... ? ... : ... | non-null | Assert.cs:37:24:37:25 | "" | non-null | -| Assert.cs:37:13:37:25 | ... ? ... : ... | null | Assert.cs:37:13:37:13 | access to parameter b | true | -| Assert.cs:37:13:37:25 | ... ? ... : ... | null | Assert.cs:37:17:37:20 | null | null | -| Assert.cs:38:23:38:23 | access to local variable s | empty | Assert.cs:37:13:37:25 | ... ? ... : ... | empty | -| Assert.cs:38:23:38:23 | access to local variable s | non-empty | Assert.cs:37:13:37:25 | ... ? ... : ... | non-empty | -| Assert.cs:38:23:38:23 | access to local variable s | non-null | Assert.cs:37:13:37:25 | ... ? ... : ... | non-null | -| Assert.cs:38:23:38:23 | access to local variable s | null | Assert.cs:37:13:37:25 | ... ? ... : ... | null | -| Assert.cs:38:23:38:31 | ... != ... | false | Assert.cs:37:13:37:13 | 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:13:37:13 | 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:38:23:38:36 | ... && ... | true | Assert.cs:38:23:38:31 | ... != ... | true | -| Assert.cs:38:23:38:36 | ... && ... | true | Assert.cs:38:36:38:36 | access to parameter b | true | -| Assert.cs:39:27:39:27 | access to local variable s | non-null | Assert.cs:37:13:37:25 | ... ? ... : ... | non-null | -| Assert.cs:39:27:39:27 | access to local variable s | null | Assert.cs:37:13:37:25 | ... ? ... : ... | null | -| Assert.cs:41:13:41:25 | ... ? ... : ... | non-null | Assert.cs:41:13:41:13 | access to parameter b | false | -| Assert.cs:41:13:41:25 | ... ? ... : ... | non-null | Assert.cs:41:24:41:25 | "" | non-null | -| Assert.cs:41:13:41:25 | ... ? ... : ... | null | Assert.cs:41:13:41:13 | access to parameter b | true | -| Assert.cs:41:13:41:25 | ... ? ... : ... | null | Assert.cs:41:17:41:20 | null | null | -| Assert.cs:42:24:42:24 | access to local variable s | empty | Assert.cs:41:13:41:25 | ... ? ... : ... | empty | -| Assert.cs:42:24:42:24 | access to local variable s | non-empty | Assert.cs:41:13:41:25 | ... ? ... : ... | non-empty | -| Assert.cs:42:24:42:24 | access to local variable s | non-null | Assert.cs:41:13:41:25 | ... ? ... : ... | non-null | -| Assert.cs:42:24:42:24 | access to local variable s | null | Assert.cs:41:13:41:25 | ... ? ... : ... | null | -| Assert.cs:42:24:42:32 | ... == ... | false | Assert.cs:41:13:41:13 | access to parameter b | false | -| Assert.cs:42:24:42:32 | ... == ... | false | Assert.cs:42:24:42:24 | access to local variable s | non-null | -| Assert.cs:42:24:42:32 | ... == ... | true | Assert.cs:41:13:41:13 | access to parameter b | true | -| Assert.cs:42:24:42:32 | ... == ... | true | Assert.cs:42:24:42:24 | access to local variable s | null | -| Assert.cs:42:24:42:38 | ... \|\| ... | false | Assert.cs:42:24:42:32 | ... == ... | false | -| Assert.cs:42:24:42:38 | ... \|\| ... | false | Assert.cs:42:37:42:38 | !... | false | -| Assert.cs:42:37:42:38 | !... | false | Assert.cs:42:38:42:38 | access to parameter b | true | -| Assert.cs:42:37:42:38 | !... | true | Assert.cs:42:38:42:38 | access to parameter b | false | -| Assert.cs:43:27:43:27 | access to local variable s | non-null | Assert.cs:41:13:41:25 | ... ? ... : ... | non-null | -| Assert.cs:43:27:43:27 | access to local variable s | null | Assert.cs:41:13:41:25 | ... ? ... : ... | null | -| Assert.cs:45:13:45:25 | ... ? ... : ... | non-null | Assert.cs:45:13:45:13 | access to parameter b | false | -| Assert.cs:45:13:45:25 | ... ? ... : ... | non-null | Assert.cs:45:24:45:25 | "" | non-null | -| Assert.cs:45:13:45:25 | ... ? ... : ... | null | Assert.cs:45:13:45:13 | access to parameter b | true | -| Assert.cs:45:13:45:25 | ... ? ... : ... | null | Assert.cs:45:17:45:20 | null | null | -| Assert.cs:46:23:46:23 | access to local variable s | empty | Assert.cs:45:13:45:25 | ... ? ... : ... | empty | -| Assert.cs:46:23:46:23 | access to local variable s | non-empty | Assert.cs:45:13:45:25 | ... ? ... : ... | non-empty | -| Assert.cs:46:23:46:23 | access to local variable s | non-null | Assert.cs:45:13:45:25 | ... ? ... : ... | non-null | -| Assert.cs:46:23:46:23 | access to local variable s | null | Assert.cs:45:13:45:25 | ... ? ... : ... | null | -| Assert.cs:46:23:46:31 | ... == ... | false | Assert.cs:45:13:45:13 | access to parameter b | false | -| Assert.cs:46:23:46:31 | ... == ... | false | Assert.cs:46:23:46:23 | access to local variable s | non-null | -| Assert.cs:46:23:46:31 | ... == ... | true | Assert.cs:45:13:45:13 | access to parameter b | true | -| Assert.cs:46:23:46:31 | ... == ... | true | Assert.cs:46:23:46:23 | access to local variable s | null | -| Assert.cs:46:23:46:36 | ... && ... | true | Assert.cs:46:23:46:31 | ... == ... | true | -| Assert.cs:46:23:46:36 | ... && ... | true | Assert.cs:46:36:46:36 | access to parameter b | true | -| Assert.cs:47:27:47:27 | access to local variable s | non-null | Assert.cs:45:13:45:25 | ... ? ... : ... | non-null | -| Assert.cs:47:27:47:27 | access to local variable s | null | Assert.cs:45:13:45:25 | ... ? ... : ... | null | -| Assert.cs:49:13:49:25 | ... ? ... : ... | non-null | Assert.cs:49:13:49:13 | access to parameter b | false | -| Assert.cs:49:13:49:25 | ... ? ... : ... | non-null | Assert.cs:49:24:49:25 | "" | non-null | -| Assert.cs:49:13:49:25 | ... ? ... : ... | null | Assert.cs:49:13:49:13 | access to parameter b | true | -| Assert.cs:49:13:49:25 | ... ? ... : ... | null | Assert.cs:49:17:49:20 | null | null | -| Assert.cs:50:24:50:24 | access to local variable s | empty | Assert.cs:49:13:49:25 | ... ? ... : ... | empty | -| Assert.cs:50:24:50:24 | access to local variable s | non-empty | Assert.cs:49:13:49:25 | ... ? ... : ... | non-empty | -| Assert.cs:50:24:50:24 | access to local variable s | non-null | Assert.cs:49:13:49:25 | ... ? ... : ... | non-null | -| Assert.cs:50:24:50:24 | access to local variable s | null | Assert.cs:49:13:49:25 | ... ? ... : ... | null | -| Assert.cs:50:24:50:32 | ... != ... | false | Assert.cs:49:13:49:13 | access to parameter b | true | -| Assert.cs:50:24:50:32 | ... != ... | false | Assert.cs:50:24:50:24 | access to local variable s | null | -| Assert.cs:50:24:50:32 | ... != ... | true | Assert.cs:49:13:49:13 | access to parameter b | false | -| Assert.cs:50:24:50:32 | ... != ... | true | Assert.cs:50:24:50:24 | access to local variable s | non-null | -| Assert.cs:50:24:50:38 | ... \|\| ... | false | Assert.cs:50:24:50:32 | ... != ... | false | -| Assert.cs:50:24:50:38 | ... \|\| ... | false | Assert.cs:50:37:50:38 | !... | false | -| Assert.cs:50:37:50:38 | !... | false | Assert.cs:50:38:50:38 | access to parameter b | true | -| Assert.cs:50:37:50:38 | !... | true | Assert.cs:50:38:50:38 | access to parameter b | false | -| Assert.cs:51:27:51:27 | access to local variable s | non-null | Assert.cs:49:13:49:25 | ... ? ... : ... | non-null | -| Assert.cs:51:27:51:27 | access to local variable s | null | Assert.cs:49:13:49:25 | ... ? ... : ... | null | -| B.cs:12:13:12:24 | access to local variable eqCallAlways | non-null | B.cs:7:26:7:29 | null | non-null | -| B.cs:12:13:12:24 | access to local variable eqCallAlways | null | B.cs:7:26:7:29 | null | null | -| B.cs:12:13:12:32 | call to operator == | false | B.cs:12:13:12:24 | access to local variable eqCallAlways | non-null | -| B.cs:12:13:12:32 | call to operator == | false | B.cs:12:29:12:32 | null | non-null | -| B.cs:12:13:12:32 | call to operator == | true | B.cs:12:13:12:24 | access to local variable eqCallAlways | null | -| B.cs:12:13:12:32 | call to operator == | true | B.cs:12:29:12:32 | null | null | -| B.cs:13:13:13:24 | access to local variable eqCallAlways | non-null | B.cs:7:26:7:29 | null | non-null | -| B.cs:13:13:13:24 | access to local variable eqCallAlways | null | B.cs:7:26:7:29 | null | null | -| B.cs:15:13:15:14 | access to local variable b2 | non-null | B.cs:8:16:8:19 | null | non-null | -| B.cs:15:13:15:14 | access to local variable b2 | null | B.cs:8:16:8:19 | null | null | -| B.cs:15:13:15:22 | call to operator != | false | B.cs:15:13:15:14 | access to local variable b2 | null | -| B.cs:15:13:15:22 | call to operator != | false | B.cs:15:19:15:22 | null | null | -| B.cs:15:13:15:22 | call to operator != | true | B.cs:15:13:15:14 | access to local variable b2 | non-null | -| B.cs:15:13:15:22 | call to operator != | true | B.cs:15:19:15:22 | null | non-null | -| B.cs:16:13:16:14 | access to local variable b2 | non-null | B.cs:8:16:8:19 | null | non-null | -| B.cs:16:13:16:14 | access to local variable b2 | null | B.cs:8:16:8:19 | null | null | -| B.cs:18:13:18:14 | access to local variable b3 | non-null | B.cs:9:16:9:19 | null | non-null | -| B.cs:18:13:18:14 | access to local variable b3 | null | B.cs:9:16:9:19 | null | null | -| B.cs:18:13:18:22 | call to operator == | false | B.cs:18:13:18:14 | access to local variable b3 | non-null | -| B.cs:18:13:18:22 | call to operator == | false | B.cs:18:19:18:22 | null | non-null | -| B.cs:18:13:18:22 | call to operator == | true | B.cs:18:13:18:14 | access to local variable b3 | null | -| B.cs:18:13:18:22 | call to operator == | true | B.cs:18:19:18:22 | null | null | -| B.cs:20:13:20:14 | access to local variable b3 | non-null | B.cs:9:16:9:19 | null | non-null | -| B.cs:20:13:20:14 | access to local variable b3 | null | B.cs:9:16:9:19 | null | null | -| B.cs:22:13:22:25 | access to local variable neqCallAlways | non-null | B.cs:10:27:10:30 | null | non-null | -| B.cs:22:13:22:25 | access to local variable neqCallAlways | null | B.cs:10:27:10:30 | null | null | -| B.cs:22:13:22:33 | call to operator != | false | B.cs:22:13:22:25 | access to local variable neqCallAlways | null | -| B.cs:22:13:22:33 | call to operator != | false | B.cs:22:30:22:33 | null | null | -| B.cs:22:13:22:33 | call to operator != | true | B.cs:22:13:22:25 | access to local variable neqCallAlways | non-null | -| B.cs:22:13:22:33 | call to operator != | true | B.cs:22:30:22:33 | null | non-null | -| B.cs:24:13:24:25 | access to local variable neqCallAlways | non-null | B.cs:10:27:10:30 | null | non-null | -| B.cs:24:13:24:25 | access to local variable neqCallAlways | null | B.cs:10:27:10:30 | null | null | -| B.cs:34:16:34:26 | !... | false | B.cs:34:18:34:25 | call to operator == | true | -| B.cs:34:16:34:26 | !... | true | B.cs:34:18:34:25 | call to operator == | false | -| B.cs:53:17:53:25 | (...) ... | non-null | B.cs:53:25:53:25 | access to local variable o | non-null | -| B.cs:53:17:53:25 | (...) ... | null | B.cs:53:25:53:25 | access to local variable o | null | -| B.cs:53:17:53:33 | ... != ... | false | B.cs:53:17:53:25 | (...) ... | null | -| B.cs:53:17:53:33 | ... != ... | false | B.cs:53:30:53:33 | null | null | -| B.cs:53:17:53:33 | ... != ... | true | B.cs:53:17:53:25 | (...) ... | non-null | -| B.cs:53:17:53:33 | ... != ... | true | B.cs:53:30:53:33 | null | non-null | -| B.cs:53:25:53:25 | access to local variable o | non-null | B.cs:52:24:52:27 | null | non-null | -| B.cs:53:25:53:25 | access to local variable o | null | B.cs:52:24:52:27 | null | null | -| B.cs:55:26:55:26 | access to local variable o | non-null | B.cs:52:24:52:27 | null | non-null | -| B.cs:55:26:55:26 | access to local variable o | null | B.cs:52:24:52:27 | null | null | -| B.cs:55:26:55:36 | call to method Equals | false | B.cs:55:26:55:26 | access to local variable o | non-null | -| B.cs:55:26:55:36 | call to method Equals | false | B.cs:55:35:55:35 | access to local variable o | non-null | -| B.cs:55:26:55:36 | call to method Equals | true | B.cs:55:26:55:26 | access to local variable o | null | -| B.cs:55:26:55:36 | call to method Equals | true | B.cs:55:35:55:35 | access to local variable o | null | -| B.cs:55:35:55:35 | access to local variable o | non-null | B.cs:52:24:52:27 | null | non-null | -| B.cs:55:35:55:35 | access to local variable o | null | B.cs:52:24:52:27 | null | null | -| C.cs:11:13:11:30 | !... | false | C.cs:11:15:11:29 | !... | true | -| C.cs:11:13:11:30 | !... | true | C.cs:11:15:11:29 | !... | false | -| C.cs:11:15:11:29 | !... | false | C.cs:11:17:11:28 | !... | true | -| C.cs:11:15:11:29 | !... | true | C.cs:11:17:11:28 | !... | false | -| C.cs:11:17:11:28 | !... | false | C.cs:11:19:11:27 | ... == ... | true | -| C.cs:11:17:11:28 | !... | true | C.cs:11:19:11:27 | ... == ... | false | -| C.cs:11:19:11:19 | access to local variable o | non-null | C.cs:10:20:10:23 | null | non-null | -| C.cs:11:19:11:19 | access to local variable o | null | C.cs:10:20:10:23 | null | null | -| C.cs:11:19:11:27 | ... == ... | false | C.cs:11:19:11:19 | access to local variable o | non-null | -| C.cs:11:19:11:27 | ... == ... | false | C.cs:11:24:11:27 | null | non-null | -| C.cs:11:19:11:27 | ... == ... | true | C.cs:11:19:11:19 | access to local variable o | null | -| C.cs:11:19:11:27 | ... == ... | true | C.cs:11:24:11:27 | null | null | -| C.cs:13:13:13:13 | access to local variable o | non-null | C.cs:10:20:10:23 | null | non-null | -| C.cs:13:13:13:13 | access to local variable o | null | C.cs:10:20:10:23 | null | null | -| C.cs:16:13:16:24 | !... | false | C.cs:16:15:16:23 | ... != ... | true | -| C.cs:16:13:16:24 | !... | true | C.cs:16:15:16:23 | ... != ... | false | -| C.cs:16:15:16:15 | access to local variable o | non-null | C.cs:10:20:10:23 | null | non-null | -| C.cs:16:15:16:15 | access to local variable o | null | C.cs:10:20:10:23 | null | null | -| C.cs:16:15:16:23 | ... != ... | false | C.cs:16:15:16:15 | access to local variable o | null | -| C.cs:16:15:16:23 | ... != ... | false | C.cs:16:20:16:23 | null | null | -| C.cs:16:15:16:23 | ... != ... | true | C.cs:16:15:16:15 | access to local variable o | non-null | -| C.cs:16:15:16:23 | ... != ... | true | C.cs:16:20:16:23 | null | non-null | -| C.cs:18:13:18:13 | access to local variable o | non-null | C.cs:10:20:10:23 | null | non-null | -| C.cs:18:13:18:13 | access to local variable o | null | C.cs:10:20:10:23 | null | null | -| C.cs:24:13:24:21 | ... != ... | false | C.cs:24:13:24:13 | access to parameter o | null | -| C.cs:24:13:24:21 | ... != ... | true | C.cs:24:13:24:13 | access to parameter o | non-null | -| C.cs:28:37:28:45 | ... == ... | false | C.cs:28:37:28:37 | access to parameter o | non-null | -| C.cs:28:37:28:45 | ... == ... | true | C.cs:28:37:28:37 | access to parameter o | null | -| C.cs:30:40:30:48 | ... != ... | false | C.cs:30:40:30:40 | access to parameter o | null | -| C.cs:30:40:30:48 | ... != ... | true | C.cs:30:40:30:40 | access to parameter o | non-null | -| C.cs:34:13:34:21 | ... == ... | false | C.cs:34:13:34:13 | access to parameter o | non-null | -| C.cs:34:13:34:21 | ... == ... | true | C.cs:34:13:34:13 | access to parameter o | null | -| C.cs:40:17:40:35 | ... ? ... : ... | non-null | C.cs:40:17:40:23 | call to method Maybe | false | -| C.cs:40:17:40:35 | ... ? ... : ... | non-null | C.cs:40:34:40:35 | "" | non-null | -| C.cs:40:17:40:35 | ... ? ... : ... | null | C.cs:40:17:40:23 | call to method Maybe | true | -| C.cs:40:17:40:35 | ... ? ... : ... | null | C.cs:40:27:40:30 | null | null | -| C.cs:41:22:41:22 | access to local variable s | empty | C.cs:40:17:40:35 | ... ? ... : ... | empty | -| C.cs:41:22:41:22 | access to local variable s | non-empty | C.cs:40:17:40:35 | ... ? ... : ... | non-empty | -| C.cs:41:22:41:22 | access to local variable s | non-null | C.cs:40:17:40:35 | ... ? ... : ... | non-null | -| C.cs:41:22:41:22 | access to local variable s | null | C.cs:40:17:40:35 | ... ? ... : ... | null | -| C.cs:41:22:41:30 | ... == ... | false | C.cs:40:17:40:23 | call to method Maybe | false | -| C.cs:41:22:41:30 | ... == ... | false | C.cs:41:22:41:22 | access to local variable s | non-null | -| C.cs:41:22:41:30 | ... == ... | true | C.cs:40:17:40:23 | call to method Maybe | true | -| C.cs:41:22:41:30 | ... == ... | true | C.cs:41:22:41:22 | access to local variable s | null | -| C.cs:42:9:42:9 | access to local variable s | non-null | C.cs:40:17:40:35 | ... ? ... : ... | non-null | -| C.cs:42:9:42:9 | access to local variable s | null | C.cs:40:17:40:35 | ... ? ... : ... | null | -| C.cs:44:13:44:31 | ... ? ... : ... | non-null | C.cs:44:13:44:19 | call to method Maybe | false | -| C.cs:44:13:44:31 | ... ? ... : ... | non-null | C.cs:44:30:44:31 | "" | non-null | -| C.cs:44:13:44:31 | ... ? ... : ... | null | C.cs:44:13:44:19 | call to method Maybe | true | -| C.cs:44:13:44:31 | ... ? ... : ... | null | C.cs:44:23:44:26 | null | null | -| C.cs:45:22:45:22 | access to local variable s | empty | C.cs:44:13:44:31 | ... ? ... : ... | empty | -| C.cs:45:22:45:22 | access to local variable s | non-empty | C.cs:44:13:44:31 | ... ? ... : ... | non-empty | -| C.cs:45:22:45:22 | access to local variable s | non-null | C.cs:44:13:44:31 | ... ? ... : ... | non-null | -| C.cs:45:22:45:22 | access to local variable s | null | C.cs:44:13:44:31 | ... ? ... : ... | null | -| C.cs:45:22:45:30 | ... != ... | false | C.cs:44:13:44:19 | call to method Maybe | true | -| C.cs:45:22:45:30 | ... != ... | false | C.cs:45:22:45:22 | access to local variable s | null | -| C.cs:45:22:45:30 | ... != ... | true | C.cs:44:13:44:19 | call to method Maybe | false | -| C.cs:45:22:45:30 | ... != ... | true | C.cs:45:22:45:22 | access to local variable s | non-null | -| C.cs:46:9:46:9 | access to local variable s | non-null | C.cs:44:13:44:31 | ... ? ... : ... | non-null | -| C.cs:46:9:46:9 | access to local variable s | null | C.cs:44:13:44:31 | ... ? ... : ... | null | -| C.cs:52:20:52:21 | access to local variable o1 | non-null | C.cs:51:18:51:29 | object creation of type Object | non-null | -| C.cs:52:20:52:21 | access to local variable o1 | null | C.cs:51:18:51:29 | object creation of type Object | null | -| C.cs:53:9:53:10 | access to local variable o1 | non-null | C.cs:51:18:51:29 | object creation of type Object | non-null | -| C.cs:53:9:53:10 | access to local variable o1 | null | C.cs:51:18:51:29 | object creation of type Object | null | -| C.cs:55:18:55:36 | ... ? ... : ... | non-null | C.cs:55:18:55:24 | call to method Maybe | false | -| C.cs:55:18:55:36 | ... ? ... : ... | non-null | C.cs:55:35:55:36 | "" | non-null | -| C.cs:55:18:55:36 | ... ? ... : ... | null | C.cs:55:18:55:24 | call to method Maybe | true | -| C.cs:55:18:55:36 | ... ? ... : ... | null | C.cs:55:28:55:31 | null | null | -| C.cs:56:23:56:24 | access to local variable o2 | empty | C.cs:55:18:55:36 | ... ? ... : ... | empty | -| C.cs:56:23:56:24 | access to local variable o2 | non-empty | C.cs:55:18:55:36 | ... ? ... : ... | non-empty | -| C.cs:56:23:56:24 | access to local variable o2 | non-null | C.cs:55:18:55:24 | call to method Maybe | false | -| C.cs:56:23:56:24 | access to local variable o2 | non-null | C.cs:55:18:55:36 | ... ? ... : ... | non-null | -| C.cs:56:23:56:24 | access to local variable o2 | null | C.cs:55:18:55:24 | call to method Maybe | true | -| C.cs:56:23:56:24 | access to local variable o2 | null | C.cs:55:18:55:36 | ... ? ... : ... | null | -| C.cs:57:9:57:10 | access to local variable o2 | non-null | C.cs:55:18:55:36 | ... ? ... : ... | non-null | -| C.cs:57:9:57:10 | access to local variable o2 | null | C.cs:55:18:55:36 | ... ? ... : ... | null | -| C.cs:62:18:62:46 | ... ? ... : ... | non-null | C.cs:62:18:62:24 | call to method Maybe | false | -| C.cs:62:18:62:46 | ... ? ... : ... | non-null | C.cs:62:35:62:46 | object creation of type Object | non-null | -| C.cs:62:18:62:46 | ... ? ... : ... | null | C.cs:62:18:62:24 | call to method Maybe | true | -| C.cs:62:18:62:46 | ... ? ... : ... | null | C.cs:62:28:62:31 | null | null | -| C.cs:63:23:63:24 | access to local variable o1 | non-null | C.cs:62:18:62:46 | ... ? ... : ... | non-null | -| C.cs:63:23:63:24 | access to local variable o1 | null | C.cs:62:18:62:46 | ... ? ... : ... | null | -| C.cs:64:9:64:10 | access to local variable o1 | non-null | C.cs:62:18:62:46 | ... ? ... : ... | non-null | -| C.cs:64:9:64:10 | access to local variable o1 | null | C.cs:62:18:62:46 | ... ? ... : ... | null | -| C.cs:66:18:66:46 | ... ? ... : ... | non-null | C.cs:66:18:66:24 | call to method Maybe | false | -| C.cs:66:18:66:46 | ... ? ... : ... | non-null | C.cs:66:35:66:46 | object creation of type Object | non-null | -| C.cs:66:18:66:46 | ... ? ... : ... | null | C.cs:66:18:66:24 | call to method Maybe | true | -| C.cs:66:18:66:46 | ... ? ... : ... | null | C.cs:66:28:66:31 | null | null | -| C.cs:67:23:67:24 | access to local variable o1 | non-null | C.cs:62:18:62:46 | ... ? ... : ... | non-null | -| C.cs:67:23:67:24 | access to local variable o1 | null | C.cs:62:18:62:46 | ... ? ... : ... | null | -| C.cs:68:9:68:10 | access to local variable o2 | non-null | C.cs:66:18:66:46 | ... ? ... : ... | non-null | -| C.cs:68:9:68:10 | access to local variable o2 | null | C.cs:66:18:66:46 | ... ? ... : ... | null | -| C.cs:70:18:70:46 | ... ? ... : ... | non-null | C.cs:70:18:70:24 | call to method Maybe | false | -| C.cs:70:18:70:46 | ... ? ... : ... | non-null | C.cs:70:35:70:46 | object creation of type Object | non-null | -| C.cs:70:18:70:46 | ... ? ... : ... | null | C.cs:70:18:70:24 | call to method Maybe | true | -| C.cs:70:18:70:46 | ... ? ... : ... | null | C.cs:70:28:70:31 | null | null | -| C.cs:71:26:71:27 | access to local variable o3 | non-null | C.cs:70:18:70:24 | call to method Maybe | false | -| C.cs:71:26:71:27 | access to local variable o3 | non-null | C.cs:70:18:70:46 | ... ? ... : ... | non-null | -| C.cs:71:26:71:27 | access to local variable o3 | null | C.cs:70:18:70:24 | call to method Maybe | true | -| C.cs:71:26:71:27 | access to local variable o3 | null | C.cs:70:18:70:46 | ... ? ... : ... | null | -| C.cs:72:9:72:10 | access to local variable o3 | non-null | C.cs:70:18:70:46 | ... ? ... : ... | non-null | -| C.cs:72:9:72:10 | access to local variable o3 | null | C.cs:70:18:70:46 | ... ? ... : ... | null | -| C.cs:78:13:78:24 | call to method IsNotNull | false | C.cs:78:23:78:23 | access to local variable o | null | -| C.cs:78:13:78:24 | call to method IsNotNull | true | C.cs:78:23:78:23 | access to local variable o | non-null | -| C.cs:78:23:78:23 | access to local variable o | non-null | C.cs:77:20:77:23 | null | non-null | -| C.cs:78:23:78:23 | access to local variable o | null | C.cs:77:20:77:23 | null | null | -| C.cs:79:13:79:13 | access to local variable o | non-null | C.cs:77:20:77:23 | null | non-null | -| C.cs:79:13:79:13 | access to local variable o | null | C.cs:77:20:77:23 | null | null | -| C.cs:81:13:81:22 | !... | false | C.cs:81:14:81:22 | call to method IsNull | true | -| C.cs:81:13:81:22 | !... | true | C.cs:81:14:81:22 | call to method IsNull | false | -| C.cs:81:14:81:22 | call to method IsNull | false | C.cs:81:21:81:21 | access to local variable o | non-null | -| C.cs:81:14:81:22 | call to method IsNull | true | C.cs:81:21:81:21 | access to local variable o | null | -| C.cs:81:21:81:21 | access to local variable o | non-null | C.cs:77:20:77:23 | null | non-null | -| C.cs:81:21:81:21 | access to local variable o | null | C.cs:77:20:77:23 | null | null | -| C.cs:82:13:82:13 | access to local variable o | non-null | C.cs:77:20:77:23 | null | non-null | -| C.cs:82:13:82:13 | access to local variable o | null | C.cs:77:20:77:23 | null | null | -| C.cs:88:13:88:13 | access to local variable o | non-null | C.cs:87:20:87:23 | null | non-null | -| C.cs:88:13:88:13 | access to local variable o | null | C.cs:87:20:87:23 | null | null | -| C.cs:88:13:88:23 | ... is ... | true | C.cs:88:13:88:13 | access to local variable o | non-null | -| C.cs:89:13:89:13 | access to local variable o | non-null | C.cs:87:20:87:23 | null | non-null | -| C.cs:89:13:89:13 | access to local variable o | null | C.cs:87:20:87:23 | null | null | -| C.cs:94:17:94:45 | ... ? ... : ... | non-null | C.cs:94:17:94:23 | call to method Maybe | false | -| C.cs:94:17:94:45 | ... ? ... : ... | non-null | C.cs:94:34:94:45 | object creation of type Object | non-null | -| C.cs:94:17:94:45 | ... ? ... : ... | null | C.cs:94:17:94:23 | call to method Maybe | true | -| C.cs:94:17:94:45 | ... ? ... : ... | null | C.cs:94:27:94:30 | null | null | -| C.cs:95:15:95:15 | access to local variable o | non-null | C.cs:94:17:94:45 | ... ? ... : ... | non-null | -| C.cs:95:15:95:15 | access to local variable o | null | C.cs:94:17:94:45 | ... ? ... : ... | null | -| C.cs:96:13:96:13 | access to local variable o | non-null | C.cs:94:17:94:45 | ... ? ... : ... | non-null | -| C.cs:96:13:96:13 | access to local variable o | null | C.cs:94:17:94:45 | ... ? ... : ... | null | -| C.cs:113:22:113:28 | access to local variable colours | empty | C.cs:112:26:112:29 | null | empty | -| C.cs:113:22:113:28 | access to local variable colours | non-empty | C.cs:112:26:112:29 | null | non-empty | -| C.cs:113:22:113:28 | access to local variable colours | non-null | C.cs:112:26:112:29 | null | non-null | -| C.cs:113:22:113:28 | access to local variable colours | null | C.cs:112:26:112:29 | null | null | -| C.cs:113:22:113:36 | ... == ... | false | C.cs:113:22:113:28 | access to local variable colours | non-null | -| C.cs:113:22:113:36 | ... == ... | false | C.cs:113:33:113:36 | null | non-null | -| C.cs:113:22:113:36 | ... == ... | true | C.cs:113:22:113:28 | access to local variable colours | null | -| C.cs:113:22:113:36 | ... == ... | true | C.cs:113:33:113:36 | null | null | -| C.cs:113:22:113:59 | ... \|\| ... | false | C.cs:113:22:113:36 | ... == ... | false | -| C.cs:113:22:113:59 | ... \|\| ... | false | C.cs:113:41:113:59 | ... == ... | false | -| C.cs:113:22:113:90 | ... ? ... : ... | null | C.cs:113:22:113:59 | ... \|\| ... | false | -| C.cs:113:22:113:90 | ... ? ... : ... | null | C.cs:113:73:113:90 | call to method ToString | null | -| C.cs:113:41:113:47 | access to local variable colours | non-null | C.cs:112:26:112:29 | null | non-null | -| C.cs:113:41:113:47 | access to local variable colours | null | C.cs:112:26:112:29 | null | null | -| C.cs:113:73:113:79 | access to local variable colours | non-null | C.cs:112:26:112:29 | null | non-null | -| C.cs:113:73:113:79 | access to local variable colours | null | C.cs:112:26:112:29 | null | null | -| C.cs:120:13:120:20 | access to local variable children | empty | C.cs:118:29:118:32 | null | empty | -| C.cs:120:13:120:20 | access to local variable children | non-empty | C.cs:118:29:118:32 | null | non-empty | -| C.cs:120:13:120:20 | access to local variable children | non-null | C.cs:118:29:118:32 | null | non-null | -| C.cs:120:13:120:20 | access to local variable children | null | C.cs:118:29:118:32 | null | null | -| C.cs:120:13:120:28 | ... == ... | false | C.cs:120:13:120:20 | access to local variable children | non-null | -| C.cs:120:13:120:28 | ... == ... | false | C.cs:120:25:120:28 | null | non-null | -| C.cs:120:13:120:28 | ... == ... | true | C.cs:120:13:120:20 | access to local variable children | null | -| C.cs:120:13:120:28 | ... == ... | true | C.cs:120:25:120:28 | null | null | -| C.cs:122:13:122:31 | ... > ... | true | C.cs:122:13:122:20 | access to local variable children | non-empty | -| C.cs:129:13:129:38 | ... == ... | false | C.cs:129:14:129:29 | ... = ... | non-null | -| C.cs:129:13:129:38 | ... == ... | false | C.cs:129:35:129:38 | null | non-null | -| C.cs:129:13:129:38 | ... == ... | true | C.cs:129:14:129:29 | ... = ... | null | -| C.cs:129:13:129:38 | ... == ... | true | C.cs:129:35:129:38 | null | null | -| C.cs:129:13:129:55 | ... \|\| ... | false | C.cs:129:13:129:38 | ... == ... | false | -| C.cs:129:13:129:55 | ... \|\| ... | false | C.cs:129:43:129:55 | ... > ... | false | -| C.cs:129:14:129:29 | ... = ... | empty | C.cs:129:14:129:15 | access to local variable ok | empty | -| C.cs:129:14:129:29 | ... = ... | empty | C.cs:129:20:129:28 | ... = ... | empty | -| C.cs:129:14:129:29 | ... = ... | non-empty | C.cs:129:14:129:15 | access to local variable ok | non-empty | -| C.cs:129:14:129:29 | ... = ... | non-empty | C.cs:129:20:129:28 | ... = ... | non-empty | -| C.cs:129:14:129:29 | ... = ... | non-null | C.cs:129:14:129:15 | access to local variable ok | non-null | -| C.cs:129:14:129:29 | ... = ... | non-null | C.cs:129:20:129:28 | ... = ... | non-null | -| C.cs:129:14:129:29 | ... = ... | null | C.cs:129:14:129:15 | access to local variable ok | null | -| C.cs:129:14:129:29 | ... = ... | null | C.cs:129:20:129:28 | ... = ... | null | -| C.cs:129:20:129:28 | ... = ... | empty | C.cs:129:20:129:21 | access to local variable xx | empty | -| C.cs:129:20:129:28 | ... = ... | empty | C.cs:129:25:129:28 | null | empty | -| C.cs:129:20:129:28 | ... = ... | non-empty | C.cs:129:20:129:21 | access to local variable xx | non-empty | -| C.cs:129:20:129:28 | ... = ... | non-empty | C.cs:129:25:129:28 | null | non-empty | -| C.cs:129:20:129:28 | ... = ... | non-null | C.cs:129:20:129:21 | access to local variable xx | non-null | -| C.cs:129:20:129:28 | ... = ... | non-null | C.cs:129:25:129:28 | null | non-null | -| C.cs:129:20:129:28 | ... = ... | null | C.cs:129:20:129:21 | access to local variable xx | null | -| C.cs:129:20:129:28 | ... = ... | null | C.cs:129:25:129:28 | null | null | -| C.cs:129:43:129:44 | access to local variable ok | empty | C.cs:129:20:129:28 | ... = ... | empty | -| C.cs:129:43:129:44 | access to local variable ok | non-empty | C.cs:129:20:129:28 | ... = ... | non-empty | -| C.cs:129:43:129:44 | access to local variable ok | non-null | C.cs:129:20:129:28 | ... = ... | non-null | -| C.cs:129:43:129:44 | access to local variable ok | null | C.cs:129:20:129:28 | ... = ... | null | -| C.cs:137:13:137:48 | ... \|\| ... | false | C.cs:137:13:137:30 | call to local function Foo | false | -| C.cs:137:13:137:48 | ... \|\| ... | false | C.cs:137:35:137:48 | ... > ... | false | -| C.cs:137:17:137:29 | ... = ... | empty | C.cs:137:17:137:19 | access to local variable ok2 | empty | -| C.cs:137:17:137:29 | ... = ... | empty | C.cs:137:23:137:29 | "hello" | empty | -| C.cs:137:17:137:29 | ... = ... | non-empty | C.cs:137:17:137:19 | access to local variable ok2 | non-empty | -| C.cs:137:17:137:29 | ... = ... | non-empty | C.cs:137:23:137:29 | "hello" | non-empty | -| C.cs:137:17:137:29 | ... = ... | non-null | C.cs:137:17:137:19 | access to local variable ok2 | non-null | -| C.cs:137:17:137:29 | ... = ... | non-null | C.cs:137:23:137:29 | "hello" | non-null | -| C.cs:137:17:137:29 | ... = ... | null | C.cs:137:17:137:19 | access to local variable ok2 | null | -| C.cs:137:17:137:29 | ... = ... | null | C.cs:137:23:137:29 | "hello" | null | -| C.cs:137:35:137:37 | access to local variable ok2 | empty | C.cs:137:23:137:29 | "hello" | empty | -| C.cs:137:35:137:37 | access to local variable ok2 | non-empty | C.cs:137:23:137:29 | "hello" | non-empty | -| C.cs:137:35:137:37 | access to local variable ok2 | non-null | C.cs:137:23:137:29 | "hello" | non-null | -| C.cs:137:35:137:37 | access to local variable ok2 | null | C.cs:137:23:137:29 | "hello" | null | -| C.cs:145:13:145:39 | ... != ... | false | C.cs:145:14:145:30 | ... = ... | null | -| C.cs:145:13:145:39 | ... != ... | false | C.cs:145:36:145:39 | null | null | -| C.cs:145:13:145:39 | ... != ... | true | C.cs:145:14:145:30 | ... = ... | non-null | -| C.cs:145:13:145:39 | ... != ... | true | C.cs:145:36:145:39 | null | non-null | -| C.cs:145:13:145:57 | ... && ... | true | C.cs:145:13:145:39 | ... != ... | true | -| C.cs:145:13:145:57 | ... && ... | true | C.cs:145:44:145:57 | ... > ... | true | -| C.cs:145:14:145:30 | ... = ... | empty | C.cs:145:14:145:15 | access to local variable xx | empty | -| C.cs:145:14:145:30 | ... = ... | empty | C.cs:145:20:145:29 | ... = ... | empty | -| C.cs:145:14:145:30 | ... = ... | non-empty | C.cs:145:14:145:15 | access to local variable xx | non-empty | -| C.cs:145:14:145:30 | ... = ... | non-empty | C.cs:145:20:145:29 | ... = ... | non-empty | -| C.cs:145:14:145:30 | ... = ... | non-null | C.cs:145:14:145:15 | access to local variable xx | non-null | -| C.cs:145:14:145:30 | ... = ... | non-null | C.cs:145:20:145:29 | ... = ... | non-null | -| C.cs:145:14:145:30 | ... = ... | null | C.cs:145:14:145:15 | access to local variable xx | null | -| C.cs:145:14:145:30 | ... = ... | null | C.cs:145:20:145:29 | ... = ... | null | -| C.cs:145:20:145:29 | ... = ... | empty | C.cs:145:20:145:22 | access to local variable ok3 | empty | -| C.cs:145:20:145:29 | ... = ... | empty | C.cs:145:26:145:29 | null | empty | -| C.cs:145:20:145:29 | ... = ... | non-empty | C.cs:145:20:145:22 | access to local variable ok3 | non-empty | -| C.cs:145:20:145:29 | ... = ... | non-empty | C.cs:145:26:145:29 | null | non-empty | -| C.cs:145:20:145:29 | ... = ... | non-null | C.cs:145:20:145:22 | access to local variable ok3 | non-null | -| C.cs:145:20:145:29 | ... = ... | non-null | C.cs:145:26:145:29 | null | non-null | -| C.cs:145:20:145:29 | ... = ... | null | C.cs:145:20:145:22 | access to local variable ok3 | null | -| C.cs:145:20:145:29 | ... = ... | null | C.cs:145:26:145:29 | null | null | -| C.cs:145:44:145:46 | access to local variable ok3 | empty | C.cs:145:26:145:29 | null | empty | -| C.cs:145:44:145:46 | access to local variable ok3 | non-empty | C.cs:145:26:145:29 | null | non-empty | -| C.cs:145:44:145:46 | access to local variable ok3 | non-null | C.cs:145:26:145:29 | null | non-null | -| C.cs:145:44:145:46 | access to local variable ok3 | null | C.cs:145:26:145:29 | null | null | -| C.cs:157:16:157:16 | access to local variable s | empty | C.cs:155:17:155:20 | null | empty | -| C.cs:157:16:157:16 | access to local variable s | non-empty | C.cs:155:17:155:20 | null | non-empty | -| C.cs:157:16:157:16 | access to local variable s | non-null | C.cs:155:17:155:20 | null | non-null | -| C.cs:157:16:157:16 | access to local variable s | null | C.cs:155:17:155:20 | null | null | -| C.cs:157:16:157:24 | ... != ... | false | C.cs:157:16:157:16 | access to local variable s | null | -| C.cs:157:16:157:24 | ... != ... | false | C.cs:157:21:157:24 | null | null | -| C.cs:157:16:157:24 | ... != ... | true | C.cs:157:16:157:16 | access to local variable s | non-null | -| C.cs:157:16:157:24 | ... != ... | true | C.cs:157:21:157:24 | null | non-null | -| C.cs:165:16:165:16 | access to local variable s | empty | C.cs:163:17:163:20 | null | empty | -| C.cs:165:16:165:16 | access to local variable s | non-empty | C.cs:163:17:163:20 | null | non-empty | -| C.cs:165:16:165:16 | access to local variable s | non-null | C.cs:163:17:163:20 | null | non-null | -| C.cs:165:16:165:16 | access to local variable s | null | C.cs:163:17:163:20 | null | null | -| C.cs:165:16:165:24 | ... != ... | false | C.cs:165:16:165:16 | access to local variable s | null | -| C.cs:165:16:165:24 | ... != ... | false | C.cs:165:21:165:24 | null | null | -| C.cs:165:16:165:24 | ... != ... | true | C.cs:165:16:165:16 | access to local variable s | non-null | -| C.cs:165:16:165:24 | ... != ... | true | C.cs:165:21:165:24 | null | non-null | -| C.cs:170:13:170:13 | access to local variable s | non-null | C.cs:167:13:167:16 | null | non-null | -| C.cs:170:13:170:13 | access to local variable s | null | C.cs:167:13:167:16 | null | null | -| C.cs:172:16:172:16 | access to local variable s | non-null | C.cs:167:13:167:16 | null | non-null | -| C.cs:172:16:172:16 | access to local variable s | null | C.cs:167:13:167:16 | null | null | -| C.cs:172:16:172:24 | ... != ... | false | C.cs:172:16:172:16 | access to local variable s | null | -| C.cs:172:16:172:24 | ... != ... | false | C.cs:172:21:172:24 | null | null | -| C.cs:172:16:172:24 | ... != ... | true | C.cs:172:16:172:16 | access to local variable s | non-null | -| C.cs:172:16:172:24 | ... != ... | true | C.cs:172:21:172:24 | null | non-null | -| C.cs:186:16:186:24 | ... != ... | false | C.cs:186:16:186:16 | access to local variable s | null | -| C.cs:186:16:186:24 | ... != ... | true | C.cs:186:16:186:16 | access to local variable s | non-null | -| C.cs:210:17:210:35 | ... ? ... : ... | non-null | C.cs:210:17:210:23 | call to method Maybe | false | -| C.cs:210:17:210:35 | ... ? ... : ... | non-null | C.cs:210:34:210:35 | "" | non-null | -| C.cs:210:17:210:35 | ... ? ... : ... | null | C.cs:210:17:210:23 | call to method Maybe | true | -| C.cs:210:17:210:35 | ... ? ... : ... | null | C.cs:210:27:210:30 | null | null | -| C.cs:211:13:211:13 | access to local variable s | empty | C.cs:210:17:210:35 | ... ? ... : ... | empty | -| C.cs:211:13:211:13 | access to local variable s | non-empty | C.cs:210:17:210:35 | ... ? ... : ... | non-empty | -| C.cs:211:13:211:13 | access to local variable s | non-null | C.cs:210:17:210:35 | ... ? ... : ... | non-null | -| C.cs:211:13:211:13 | access to local variable s | null | C.cs:210:17:210:35 | ... ? ... : ... | null | -| C.cs:211:13:211:21 | ... != ... | false | C.cs:210:17:210:23 | call to method Maybe | true | -| C.cs:211:13:211:21 | ... != ... | false | C.cs:211:13:211:13 | access to local variable s | null | -| C.cs:211:13:211:21 | ... != ... | true | C.cs:210:17:210:23 | call to method Maybe | false | -| C.cs:211:13:211:21 | ... != ... | true | C.cs:211:13:211:13 | access to local variable s | non-null | -| C.cs:213:13:213:13 | access to local variable s | non-null | C.cs:210:17:210:35 | ... ? ... : ... | non-null | -| C.cs:213:13:213:13 | access to local variable s | null | C.cs:210:17:210:35 | ... ? ... : ... | null | -| C.cs:217:13:217:21 | ... == ... | false | C.cs:211:13:211:21 | ... != ... | false | -| C.cs:217:13:217:21 | ... == ... | false | C.cs:217:13:217:13 | access to local variable s | non-null | -| C.cs:217:13:217:21 | ... == ... | true | C.cs:217:13:217:13 | access to local variable s | null | -| C.cs:221:13:221:13 | access to local variable s | empty | C.cs:220:13:220:14 | "" | empty | -| C.cs:221:13:221:13 | access to local variable s | non-empty | C.cs:220:13:220:14 | "" | non-empty | -| C.cs:221:13:221:13 | access to local variable s | non-null | C.cs:220:13:220:14 | "" | non-null | -| C.cs:221:13:221:13 | access to local variable s | null | C.cs:220:13:220:14 | "" | null | -| C.cs:221:13:221:21 | ... != ... | false | C.cs:221:13:221:13 | access to local variable s | null | -| C.cs:221:13:221:21 | ... != ... | false | C.cs:221:18:221:21 | null | non-null | -| C.cs:221:13:221:21 | ... != ... | true | C.cs:221:13:221:13 | access to local variable s | non-null | -| C.cs:221:13:221:42 | ... && ... | true | C.cs:221:13:221:21 | ... != ... | true | -| C.cs:221:13:221:42 | ... && ... | true | C.cs:221:26:221:42 | ... == ... | true | -| C.cs:221:26:221:26 | access to local variable s | non-null | C.cs:220:13:220:14 | "" | non-null | -| C.cs:221:26:221:26 | access to local variable s | null | C.cs:220:13:220:14 | "" | null | -| C.cs:229:14:229:19 | ... = ... | empty | C.cs:229:14:229:14 | access to local variable s | empty | -| C.cs:229:14:229:19 | ... = ... | empty | C.cs:229:18:229:19 | "" | empty | -| C.cs:229:14:229:19 | ... = ... | non-empty | C.cs:229:14:229:14 | access to local variable s | non-empty | -| C.cs:229:14:229:19 | ... = ... | non-empty | C.cs:229:18:229:19 | "" | non-empty | -| C.cs:229:14:229:19 | ... = ... | non-null | C.cs:229:14:229:14 | access to local variable s | non-null | -| C.cs:229:14:229:19 | ... = ... | non-null | C.cs:229:18:229:19 | "" | non-null | -| C.cs:229:14:229:19 | ... = ... | null | C.cs:229:14:229:14 | access to local variable s | null | -| C.cs:229:14:229:19 | ... = ... | null | C.cs:229:18:229:19 | "" | null | -| C.cs:229:22:229:30 | ... != ... | false | C.cs:229:22:229:22 | access to local variable s | null | -| C.cs:229:22:229:30 | ... != ... | true | C.cs:229:22:229:22 | access to local variable s | non-null | -| C.cs:229:33:229:40 | ... = ... | empty | C.cs:229:33:229:33 | access to local variable s | empty | -| C.cs:229:33:229:40 | ... = ... | empty | C.cs:229:37:229:40 | null | empty | -| C.cs:229:33:229:40 | ... = ... | non-empty | C.cs:229:33:229:33 | access to local variable s | non-empty | -| C.cs:229:33:229:40 | ... = ... | non-empty | C.cs:229:37:229:40 | null | non-empty | -| C.cs:229:33:229:40 | ... = ... | non-null | C.cs:229:33:229:33 | access to local variable s | non-null | -| C.cs:229:33:229:40 | ... = ... | non-null | C.cs:229:37:229:40 | null | non-null | -| C.cs:229:33:229:40 | ... = ... | null | C.cs:229:33:229:33 | access to local variable s | null | -| C.cs:229:33:229:40 | ... = ... | null | C.cs:229:37:229:40 | null | null | -| C.cs:235:14:235:21 | ... = ... | empty | C.cs:235:14:235:14 | access to local variable s | empty | -| C.cs:235:14:235:21 | ... = ... | empty | C.cs:235:18:235:21 | null | empty | -| C.cs:235:14:235:21 | ... = ... | non-empty | C.cs:235:14:235:14 | access to local variable s | non-empty | -| C.cs:235:14:235:21 | ... = ... | non-empty | C.cs:235:18:235:21 | null | non-empty | -| C.cs:235:14:235:21 | ... = ... | non-null | C.cs:235:14:235:14 | access to local variable s | non-null | -| C.cs:235:14:235:21 | ... = ... | non-null | C.cs:235:18:235:21 | null | non-null | -| C.cs:235:14:235:21 | ... = ... | null | C.cs:235:14:235:14 | access to local variable s | null | -| C.cs:235:14:235:21 | ... = ... | null | C.cs:235:18:235:21 | null | null | -| C.cs:235:24:235:32 | ... == ... | false | C.cs:235:24:235:24 | access to local variable s | non-null | -| C.cs:235:24:235:32 | ... == ... | false | C.cs:235:29:235:32 | null | non-null | -| C.cs:235:24:235:32 | ... == ... | true | C.cs:235:24:235:24 | access to local variable s | null | -| C.cs:235:24:235:32 | ... == ... | true | C.cs:235:29:235:32 | null | null | -| C.cs:235:35:235:42 | ... = ... | empty | C.cs:235:35:235:35 | access to local variable s | empty | -| C.cs:235:35:235:42 | ... = ... | empty | C.cs:235:39:235:42 | null | empty | -| C.cs:235:35:235:42 | ... = ... | non-empty | C.cs:235:35:235:35 | access to local variable s | non-empty | -| C.cs:235:35:235:42 | ... = ... | non-empty | C.cs:235:39:235:42 | null | non-empty | -| C.cs:235:35:235:42 | ... = ... | non-null | C.cs:235:35:235:35 | access to local variable s | non-null | -| C.cs:235:35:235:42 | ... = ... | non-null | C.cs:235:39:235:42 | null | non-null | -| C.cs:235:35:235:42 | ... = ... | null | C.cs:235:35:235:35 | access to local variable s | null | -| C.cs:235:35:235:42 | ... = ... | null | C.cs:235:39:235:42 | null | null | -| C.cs:240:14:240:19 | ... = ... | empty | C.cs:240:14:240:14 | access to local variable s | empty | -| C.cs:240:14:240:19 | ... = ... | empty | C.cs:240:18:240:19 | "" | empty | -| C.cs:240:14:240:19 | ... = ... | non-empty | C.cs:240:14:240:14 | access to local variable s | non-empty | -| C.cs:240:14:240:19 | ... = ... | non-empty | C.cs:240:18:240:19 | "" | non-empty | -| C.cs:240:14:240:19 | ... = ... | non-null | C.cs:240:14:240:14 | access to local variable s | non-null | -| C.cs:240:14:240:19 | ... = ... | non-null | C.cs:240:18:240:19 | "" | non-null | -| C.cs:240:14:240:19 | ... = ... | null | C.cs:240:14:240:14 | access to local variable s | null | -| C.cs:240:14:240:19 | ... = ... | null | C.cs:240:18:240:19 | "" | null | -| C.cs:240:24:240:31 | ... = ... | empty | C.cs:240:24:240:24 | access to local variable s | empty | -| C.cs:240:24:240:31 | ... = ... | empty | C.cs:240:28:240:31 | null | empty | -| C.cs:240:24:240:31 | ... = ... | non-empty | C.cs:240:24:240:24 | access to local variable s | non-empty | -| C.cs:240:24:240:31 | ... = ... | non-empty | C.cs:240:28:240:31 | null | non-empty | -| C.cs:240:24:240:31 | ... = ... | non-null | C.cs:240:24:240:24 | access to local variable s | non-null | -| C.cs:240:24:240:31 | ... = ... | non-null | C.cs:240:28:240:31 | null | non-null | -| C.cs:240:24:240:31 | ... = ... | null | C.cs:240:24:240:24 | access to local variable s | null | -| C.cs:240:24:240:31 | ... = ... | null | C.cs:240:28:240:31 | null | null | -| C.cs:249:9:249:9 | access to local variable a | empty | C.cs:248:19:248:22 | null | empty | -| C.cs:249:9:249:9 | access to local variable a | non-empty | C.cs:248:19:248:22 | null | non-empty | -| C.cs:249:9:249:9 | access to local variable a | non-null | C.cs:248:19:248:22 | null | non-null | -| C.cs:249:9:249:9 | access to local variable a | null | C.cs:248:19:248:22 | null | null | -| C.cs:252:9:252:9 | access to local variable a | empty | C.cs:251:13:251:23 | array creation of type Int32[] | empty | -| C.cs:252:9:252:9 | access to local variable a | non-empty | C.cs:251:13:251:23 | array creation of type Int32[] | non-empty | -| C.cs:252:9:252:9 | access to local variable a | non-null | C.cs:251:13:251:23 | array creation of type Int32[] | non-null | -| C.cs:252:9:252:9 | access to local variable a | null | C.cs:251:13:251:23 | array creation of type Int32[] | null | -| C.cs:260:9:260:10 | access to local variable ia | empty | C.cs:257:20:257:23 | null | empty | -| C.cs:260:9:260:10 | access to local variable ia | non-empty | C.cs:257:20:257:23 | null | non-empty | -| C.cs:260:9:260:10 | access to local variable ia | non-null | C.cs:257:20:257:23 | null | non-null | -| C.cs:260:9:260:10 | access to local variable ia | null | C.cs:257:20:257:23 | null | null | -| C.cs:261:20:261:21 | access to local variable sa | empty | C.cs:258:23:258:26 | null | empty | -| C.cs:261:20:261:21 | access to local variable sa | non-empty | C.cs:258:23:258:26 | null | non-empty | -| C.cs:261:20:261:21 | access to local variable sa | non-null | C.cs:258:23:258:26 | null | non-null | -| C.cs:261:20:261:21 | access to local variable sa | null | C.cs:258:23:258:26 | null | null | -| C.cs:263:9:263:10 | access to local variable ia | non-null | C.cs:257:20:257:23 | null | non-null | -| C.cs:263:9:263:10 | access to local variable ia | null | C.cs:257:20:257:23 | null | null | -| C.cs:264:16:264:17 | access to local variable sa | non-null | C.cs:258:23:258:26 | null | non-null | -| C.cs:264:16:264:17 | access to local variable sa | null | C.cs:258:23:258:26 | null | null | -| D.cs:28:13:28:25 | ... != ... | false | D.cs:28:13:28:17 | access to parameter param | null | -| D.cs:28:13:28:25 | ... != ... | true | D.cs:28:13:28:17 | access to parameter param | non-null | -| D.cs:37:13:37:23 | ... is ... | true | D.cs:37:13:37:13 | access to parameter x | non-null | -| D.cs:38:13:38:21 | ... == ... | false | D.cs:38:13:38:13 | access to parameter x | non-null | -| D.cs:38:13:38:21 | ... == ... | true | D.cs:38:13:38:13 | access to parameter x | null | -| D.cs:39:16:39:24 | ... == ... | false | D.cs:39:16:39:16 | access to parameter x | non-null | -| D.cs:39:16:39:24 | ... == ... | true | D.cs:39:16:39:16 | access to parameter x | null | -| D.cs:44:18:44:44 | ... ? ... : ... | non-null | D.cs:44:18:44:22 | access to field maybe | false | -| D.cs:44:18:44:44 | ... ? ... : ... | non-null | D.cs:44:33:44:44 | object creation of type Object | non-null | -| D.cs:44:18:44:44 | ... ? ... : ... | null | D.cs:44:18:44:22 | access to field maybe | true | -| D.cs:44:18:44:44 | ... ? ... : ... | null | D.cs:44:26:44:29 | null | null | -| D.cs:45:13:45:14 | access to local variable o1 | non-null | D.cs:44:18:44:44 | ... ? ... : ... | non-null | -| D.cs:45:13:45:14 | access to local variable o1 | null | D.cs:44:18:44:44 | ... ? ... : ... | null | -| D.cs:45:13:45:22 | ... != ... | false | D.cs:44:18:44:22 | access to field maybe | true | -| D.cs:45:13:45:22 | ... != ... | false | D.cs:45:13:45:14 | access to local variable o1 | null | -| D.cs:45:13:45:22 | ... != ... | true | D.cs:44:18:44:22 | access to field maybe | false | -| D.cs:45:13:45:22 | ... != ... | true | D.cs:45:13:45:14 | access to local variable o1 | non-null | -| D.cs:45:25:45:26 | access to local variable o1 | non-null | D.cs:44:18:44:44 | ... ? ... : ... | non-null | -| D.cs:45:25:45:26 | access to local variable o1 | null | D.cs:44:18:44:44 | ... ? ... : ... | null | -| D.cs:47:18:47:34 | ... ? ... : ... | non-null | D.cs:47:18:47:22 | access to field maybe | false | -| D.cs:47:18:47:34 | ... ? ... : ... | non-null | D.cs:47:33:47:34 | "" | non-null | -| D.cs:47:18:47:34 | ... ? ... : ... | null | D.cs:47:18:47:22 | access to field maybe | true | -| D.cs:47:18:47:34 | ... ? ... : ... | null | D.cs:47:26:47:29 | null | null | -| D.cs:48:13:48:14 | access to local variable o2 | empty | D.cs:47:18:47:34 | ... ? ... : ... | empty | -| D.cs:48:13:48:14 | access to local variable o2 | non-empty | D.cs:47:18:47:34 | ... ? ... : ... | non-empty | -| D.cs:48:13:48:14 | access to local variable o2 | non-null | D.cs:47:18:47:34 | ... ? ... : ... | non-null | -| D.cs:48:13:48:14 | access to local variable o2 | null | D.cs:47:18:47:34 | ... ? ... : ... | null | -| D.cs:48:13:48:24 | ... is ... | false | D.cs:47:18:47:22 | access to field maybe | true | -| D.cs:48:13:48:24 | ... is ... | false | D.cs:48:13:48:14 | access to local variable o2 | null | -| D.cs:48:13:48:24 | ... is ... | true | D.cs:47:18:47:22 | access to field maybe | false | -| D.cs:48:13:48:24 | ... is ... | true | D.cs:48:13:48:14 | access to local variable o2 | non-null | -| D.cs:48:27:48:28 | access to local variable o2 | non-null | D.cs:47:18:47:34 | ... ? ... : ... | non-null | -| D.cs:48:27:48:28 | access to local variable o2 | null | D.cs:47:18:47:34 | ... ? ... : ... | null | -| D.cs:51:13:51:44 | ... != ... | false | D.cs:51:14:51:35 | ... = ... | null | -| D.cs:51:13:51:44 | ... != ... | true | D.cs:51:14:51:35 | ... = ... | non-null | -| D.cs:51:14:51:35 | ... = ... | non-null | D.cs:51:14:51:15 | access to local variable o3 | non-null | -| D.cs:51:14:51:35 | ... = ... | non-null | D.cs:51:19:51:35 | ... ? ... : ... | non-null | -| D.cs:51:14:51:35 | ... = ... | null | D.cs:51:14:51:15 | access to local variable o3 | null | -| D.cs:51:14:51:35 | ... = ... | null | D.cs:51:19:51:35 | ... ? ... : ... | null | -| D.cs:51:19:51:35 | ... ? ... : ... | non-null | D.cs:51:19:51:23 | access to field maybe | false | -| D.cs:51:19:51:35 | ... ? ... : ... | non-null | D.cs:51:34:51:35 | "" | non-null | -| D.cs:51:19:51:35 | ... ? ... : ... | null | D.cs:51:19:51:23 | access to field maybe | true | -| D.cs:51:19:51:35 | ... ? ... : ... | null | D.cs:51:27:51:30 | null | null | -| D.cs:52:13:52:14 | access to local variable o3 | non-null | D.cs:51:19:51:35 | ... ? ... : ... | non-null | -| D.cs:52:13:52:14 | access to local variable o3 | null | D.cs:51:19:51:35 | ... ? ... : ... | null | -| D.cs:54:18:54:34 | ... ? ... : ... | non-null | D.cs:54:18:54:22 | access to field maybe | false | -| D.cs:54:18:54:34 | ... ? ... : ... | non-null | D.cs:54:33:54:34 | "" | non-null | -| D.cs:54:18:54:34 | ... ? ... : ... | null | D.cs:54:18:54:22 | access to field maybe | true | -| D.cs:54:18:54:34 | ... ? ... : ... | null | D.cs:54:26:54:29 | null | null | -| D.cs:55:13:55:42 | ... != ... | false | D.cs:55:14:55:32 | ... && ... | false | -| D.cs:55:13:55:42 | ... != ... | true | D.cs:55:14:55:32 | ... && ... | true | -| D.cs:55:14:55:32 | ... && ... | true | D.cs:55:14:55:18 | ... > ... | true | -| D.cs:55:14:55:32 | ... && ... | true | D.cs:55:23:55:32 | ... != ... | true | -| D.cs:55:23:55:24 | access to local variable o4 | empty | D.cs:54:18:54:34 | ... ? ... : ... | empty | -| D.cs:55:23:55:24 | access to local variable o4 | non-empty | D.cs:54:18:54:34 | ... ? ... : ... | non-empty | -| D.cs:55:23:55:24 | access to local variable o4 | non-null | D.cs:54:18:54:34 | ... ? ... : ... | non-null | -| D.cs:55:23:55:24 | access to local variable o4 | null | D.cs:54:18:54:34 | ... ? ... : ... | null | -| D.cs:55:23:55:32 | ... != ... | false | D.cs:54:18:54:22 | access to field maybe | true | -| D.cs:55:23:55:32 | ... != ... | false | D.cs:55:23:55:24 | access to local variable o4 | null | -| D.cs:55:23:55:32 | ... != ... | true | D.cs:54:18:54:22 | access to field maybe | false | -| D.cs:55:23:55:32 | ... != ... | true | D.cs:55:23:55:24 | access to local variable o4 | non-null | -| D.cs:56:13:56:14 | access to local variable o4 | non-null | D.cs:54:18:54:34 | ... ? ... : ... | non-null | -| D.cs:56:13:56:14 | access to local variable o4 | null | D.cs:54:18:54:34 | ... ? ... : ... | null | -| D.cs:58:18:58:41 | ... ? ... : ... | non-null | D.cs:58:19:58:28 | ... != ... | true | -| D.cs:58:18:58:41 | ... ? ... : ... | non-null | D.cs:58:33:58:34 | "" | non-null | -| D.cs:58:18:58:41 | ... ? ... : ... | null | D.cs:58:19:58:28 | ... != ... | false | -| D.cs:58:18:58:41 | ... ? ... : ... | null | D.cs:58:38:58:41 | null | null | -| D.cs:58:19:58:20 | access to local variable o4 | non-null | D.cs:54:18:54:34 | ... ? ... : ... | non-null | -| D.cs:58:19:58:20 | access to local variable o4 | null | D.cs:54:18:54:34 | ... ? ... : ... | null | -| D.cs:58:19:58:28 | ... != ... | false | D.cs:54:18:54:22 | access to field maybe | true | -| D.cs:58:19:58:28 | ... != ... | false | D.cs:58:19:58:20 | access to local variable o4 | null | -| D.cs:58:19:58:28 | ... != ... | true | D.cs:54:18:54:22 | access to field maybe | false | -| D.cs:58:19:58:28 | ... != ... | true | D.cs:58:19:58:20 | access to local variable o4 | non-null | -| D.cs:59:13:59:14 | access to local variable o5 | empty | D.cs:58:18:58:41 | ... ? ... : ... | empty | -| D.cs:59:13:59:14 | access to local variable o5 | non-empty | D.cs:58:18:58:41 | ... ? ... : ... | non-empty | -| D.cs:59:13:59:14 | access to local variable o5 | non-null | D.cs:58:18:58:41 | ... ? ... : ... | non-null | -| D.cs:59:13:59:14 | access to local variable o5 | null | D.cs:58:18:58:41 | ... ? ... : ... | null | -| D.cs:59:13:59:22 | ... != ... | false | D.cs:58:19:58:28 | ... != ... | false | -| D.cs:59:13:59:22 | ... != ... | false | D.cs:59:13:59:14 | access to local variable o5 | null | -| D.cs:59:13:59:22 | ... != ... | true | D.cs:58:19:58:28 | ... != ... | true | -| D.cs:59:13:59:22 | ... != ... | true | D.cs:59:13:59:14 | access to local variable o5 | non-null | -| D.cs:60:13:60:14 | access to local variable o4 | non-null | D.cs:54:18:54:34 | ... ? ... : ... | non-null | -| D.cs:60:13:60:14 | access to local variable o4 | null | D.cs:54:18:54:34 | ... ? ... : ... | null | -| D.cs:61:13:61:14 | access to local variable o4 | non-null | D.cs:54:18:54:34 | ... ? ... : ... | non-null | -| D.cs:61:13:61:14 | access to local variable o4 | null | D.cs:54:18:54:34 | ... ? ... : ... | null | -| D.cs:61:13:61:22 | ... != ... | false | D.cs:54:18:54:22 | access to field maybe | true | -| D.cs:61:13:61:22 | ... != ... | false | D.cs:61:13:61:14 | access to local variable o4 | null | -| D.cs:61:13:61:22 | ... != ... | true | D.cs:54:18:54:22 | access to field maybe | false | -| D.cs:61:13:61:22 | ... != ... | true | D.cs:61:13:61:14 | access to local variable o4 | non-null | -| D.cs:62:13:62:14 | access to local variable o5 | non-null | D.cs:58:18:58:41 | ... ? ... : ... | non-null | -| D.cs:62:13:62:14 | access to local variable o5 | null | D.cs:58:18:58:41 | ... ? ... : ... | null | -| D.cs:64:18:64:34 | ... ? ... : ... | non-null | D.cs:64:18:64:22 | access to field maybe | false | -| D.cs:64:18:64:34 | ... ? ... : ... | non-null | D.cs:64:33:64:34 | "" | non-null | -| D.cs:64:18:64:34 | ... ? ... : ... | null | D.cs:64:18:64:22 | access to field maybe | true | -| D.cs:64:18:64:34 | ... ? ... : ... | null | D.cs:64:26:64:29 | null | null | -| D.cs:65:13:65:29 | !... | false | D.cs:65:14:65:29 | call to method CustomIsNull | true | -| D.cs:65:13:65:29 | !... | true | D.cs:65:14:65:29 | call to method CustomIsNull | false | -| D.cs:65:14:65:29 | call to method CustomIsNull | false | D.cs:64:18:64:22 | access to field maybe | false | -| D.cs:65:14:65:29 | call to method CustomIsNull | false | D.cs:65:27:65:28 | access to local variable o6 | non-null | -| D.cs:65:14:65:29 | call to method CustomIsNull | true | D.cs:64:18:64:22 | access to field maybe | true | -| D.cs:65:14:65:29 | call to method CustomIsNull | true | D.cs:65:27:65:28 | access to local variable o6 | null | -| D.cs:65:27:65:28 | access to local variable o6 | empty | D.cs:64:18:64:34 | ... ? ... : ... | empty | -| D.cs:65:27:65:28 | access to local variable o6 | non-empty | D.cs:64:18:64:34 | ... ? ... : ... | non-empty | -| D.cs:65:27:65:28 | access to local variable o6 | non-null | D.cs:64:18:64:34 | ... ? ... : ... | non-null | -| D.cs:65:27:65:28 | access to local variable o6 | null | D.cs:64:18:64:34 | ... ? ... : ... | null | -| D.cs:66:13:66:14 | access to local variable o6 | non-null | D.cs:64:18:64:34 | ... ? ... : ... | non-null | -| D.cs:66:13:66:14 | access to local variable o6 | null | D.cs:64:18:64:34 | ... ? ... : ... | null | -| D.cs:68:18:68:34 | ... ? ... : ... | non-null | D.cs:68:18:68:22 | access to field maybe | false | -| D.cs:68:18:68:34 | ... ? ... : ... | non-null | D.cs:68:33:68:34 | "" | non-null | -| D.cs:68:18:68:34 | ... ? ... : ... | null | D.cs:68:18:68:22 | access to field maybe | true | -| D.cs:68:18:68:34 | ... ? ... : ... | null | D.cs:68:26:68:29 | null | null | -| D.cs:69:18:69:19 | access to local variable o7 | empty | D.cs:68:18:68:34 | ... ? ... : ... | empty | -| D.cs:69:18:69:19 | access to local variable o7 | non-empty | D.cs:68:18:68:34 | ... ? ... : ... | non-empty | -| D.cs:69:18:69:19 | access to local variable o7 | non-null | D.cs:68:18:68:34 | ... ? ... : ... | non-null | -| D.cs:69:18:69:19 | access to local variable o7 | null | D.cs:68:18:68:34 | ... ? ... : ... | null | -| D.cs:69:18:69:27 | ... != ... | false | D.cs:68:18:68:22 | access to field maybe | true | -| D.cs:69:18:69:27 | ... != ... | false | D.cs:69:18:69:19 | access to local variable o7 | null | -| D.cs:69:18:69:27 | ... != ... | true | D.cs:68:18:68:22 | access to field maybe | false | -| D.cs:69:18:69:27 | ... != ... | true | D.cs:69:18:69:19 | access to local variable o7 | non-null | -| D.cs:69:18:69:36 | ... && ... | true | D.cs:69:18:69:27 | ... != ... | true | -| D.cs:69:18:69:36 | ... && ... | true | D.cs:69:32:69:36 | ... > ... | true | -| D.cs:70:13:70:14 | access to local variable ok | false | D.cs:69:18:69:36 | ... && ... | false | -| D.cs:70:13:70:14 | access to local variable ok | true | D.cs:69:18:69:36 | ... && ... | true | -| D.cs:71:13:71:14 | access to local variable o7 | non-null | D.cs:68:18:68:34 | ... ? ... : ... | non-null | -| D.cs:71:13:71:14 | access to local variable o7 | null | D.cs:68:18:68:34 | ... ? ... : ... | null | -| D.cs:73:13:73:14 | access to local variable o7 | non-null | D.cs:68:18:68:34 | ... ? ... : ... | non-null | -| D.cs:73:13:73:14 | access to local variable o7 | null | D.cs:68:18:68:34 | ... ? ... : ... | null | -| D.cs:75:18:75:34 | ... ? ... : ... | non-null | D.cs:75:18:75:22 | access to field maybe | false | -| D.cs:75:18:75:34 | ... ? ... : ... | non-null | D.cs:75:33:75:34 | "" | non-null | -| D.cs:75:18:75:34 | ... ? ... : ... | null | D.cs:75:18:75:22 | access to field maybe | true | -| D.cs:75:18:75:34 | ... ? ... : ... | null | D.cs:75:26:75:29 | null | null | -| D.cs:76:21:76:22 | access to local variable o8 | empty | D.cs:75:18:75:34 | ... ? ... : ... | empty | -| D.cs:76:21:76:22 | access to local variable o8 | non-empty | D.cs:75:18:75:34 | ... ? ... : ... | non-empty | -| D.cs:76:21:76:22 | access to local variable o8 | non-null | D.cs:75:18:75:34 | ... ? ... : ... | non-null | -| D.cs:76:21:76:22 | access to local variable o8 | null | D.cs:75:18:75:34 | ... ? ... : ... | null | -| D.cs:76:21:76:30 | ... == ... | false | D.cs:75:18:75:22 | access to field maybe | false | -| D.cs:76:21:76:30 | ... == ... | false | D.cs:76:21:76:22 | access to local variable o8 | non-null | -| D.cs:76:21:76:30 | ... == ... | true | D.cs:75:18:75:22 | access to field maybe | true | -| D.cs:76:21:76:30 | ... == ... | true | D.cs:76:21:76:22 | access to local variable o8 | null | -| D.cs:77:13:77:22 | ... == ... | false | D.cs:76:21:76:30 | ... == ... | true | -| D.cs:77:13:77:22 | ... == ... | true | D.cs:76:21:76:30 | ... == ... | false | -| D.cs:78:13:78:14 | access to local variable o8 | non-null | D.cs:75:18:75:34 | ... ? ... : ... | non-null | -| D.cs:78:13:78:14 | access to local variable o8 | null | D.cs:75:18:75:34 | ... ? ... : ... | null | -| D.cs:79:13:79:23 | ... != ... | false | D.cs:76:21:76:30 | ... == ... | true | -| D.cs:79:13:79:23 | ... != ... | true | D.cs:76:21:76:30 | ... == ... | false | -| D.cs:80:13:80:14 | access to local variable o8 | non-null | D.cs:75:18:75:34 | ... ? ... : ... | non-null | -| D.cs:80:13:80:14 | access to local variable o8 | null | D.cs:75:18:75:34 | ... ? ... : ... | null | -| D.cs:82:13:82:14 | access to local variable o8 | non-null | D.cs:75:18:75:34 | ... ? ... : ... | non-null | -| D.cs:82:13:82:14 | access to local variable o8 | null | D.cs:75:18:75:34 | ... ? ... : ... | null | -| D.cs:84:13:84:14 | access to local variable o8 | non-null | D.cs:75:18:75:34 | ... ? ... : ... | non-null | -| D.cs:84:13:84:14 | access to local variable o8 | null | D.cs:75:18:75:34 | ... ? ... : ... | null | -| D.cs:89:20:89:44 | ... ? ... : ... | empty | D.cs:89:20:89:24 | access to field maybe | true | -| D.cs:89:20:89:44 | ... ? ... : ... | empty | D.cs:89:28:89:31 | null | empty | -| D.cs:89:20:89:44 | ... ? ... : ... | non-null | D.cs:89:20:89:24 | access to field maybe | false | -| D.cs:89:20:89:44 | ... ? ... : ... | non-null | D.cs:89:35:89:44 | array creation of type Int32[] | non-null | -| D.cs:89:20:89:44 | ... ? ... : ... | null | D.cs:89:20:89:24 | access to field maybe | true | -| D.cs:89:20:89:44 | ... ? ... : ... | null | D.cs:89:28:89:31 | null | null | -| D.cs:91:13:91:14 | access to local variable xs | empty | D.cs:89:20:89:44 | ... ? ... : ... | empty | -| D.cs:91:13:91:14 | access to local variable xs | non-empty | D.cs:89:20:89:44 | ... ? ... : ... | non-empty | -| D.cs:91:13:91:14 | access to local variable xs | non-null | D.cs:89:20:89:44 | ... ? ... : ... | non-null | -| D.cs:91:13:91:14 | access to local variable xs | null | D.cs:89:20:89:44 | ... ? ... : ... | null | -| D.cs:94:21:94:22 | access to local variable xs | non-null | D.cs:89:20:89:44 | ... ? ... : ... | non-null | -| D.cs:94:21:94:22 | access to local variable xs | null | D.cs:89:20:89:44 | ... ? ... : ... | null | -| D.cs:98:21:98:22 | access to local variable xs | non-null | D.cs:89:20:89:44 | ... ? ... : ... | non-null | -| D.cs:98:21:98:22 | access to local variable xs | null | D.cs:89:20:89:44 | ... ? ... : ... | null | -| D.cs:102:31:102:32 | access to local variable xs | non-null | D.cs:89:20:89:44 | ... ? ... : ... | non-null | -| D.cs:102:31:102:32 | access to local variable xs | null | D.cs:89:20:89:44 | ... ? ... : ... | null | -| D.cs:105:19:105:20 | access to local variable xs | non-null | D.cs:89:20:89:44 | ... ? ... : ... | non-null | -| D.cs:105:19:105:20 | access to local variable xs | null | D.cs:89:20:89:44 | ... ? ... : ... | null | -| D.cs:106:17:106:18 | access to local variable xs | non-null | D.cs:89:20:89:44 | ... ? ... : ... | non-null | -| D.cs:106:17:106:18 | access to local variable xs | null | D.cs:89:20:89:44 | ... ? ... : ... | null | -| D.cs:110:26:110:27 | access to local variable xs | non-null | D.cs:89:20:89:44 | ... ? ... : ... | non-null | -| D.cs:110:26:110:27 | access to local variable xs | null | D.cs:89:20:89:44 | ... ? ... : ... | null | -| D.cs:110:26:110:35 | ... != ... | false | D.cs:89:20:89:24 | access to field maybe | true | -| D.cs:110:26:110:35 | ... != ... | false | D.cs:110:26:110:27 | access to local variable xs | null | -| D.cs:110:26:110:35 | ... != ... | true | D.cs:89:20:89:24 | access to field maybe | false | -| D.cs:110:26:110:35 | ... != ... | true | D.cs:110:26:110:27 | access to local variable xs | non-null | -| D.cs:111:13:111:14 | access to local variable xs | non-null | D.cs:89:20:89:44 | ... ? ... : ... | non-null | -| D.cs:111:13:111:14 | access to local variable xs | null | D.cs:89:20:89:44 | ... ? ... : ... | null | -| D.cs:111:21:111:22 | access to local variable xs | non-null | D.cs:89:20:89:44 | ... ? ... : ... | non-null | -| D.cs:111:21:111:22 | access to local variable xs | null | D.cs:89:20:89:44 | ... ? ... : ... | null | -| D.cs:117:17:117:32 | ... ? ... : ... | non-null | D.cs:117:17:117:17 | access to parameter b | false | -| D.cs:117:17:117:32 | ... ? ... : ... | non-null | D.cs:117:28:117:32 | "abc" | non-null | -| D.cs:117:17:117:32 | ... ? ... : ... | null | D.cs:117:17:117:17 | access to parameter b | true | -| D.cs:117:17:117:32 | ... ? ... : ... | null | D.cs:117:21:117:24 | null | null | -| D.cs:118:13:118:13 | access to local variable x | empty | D.cs:117:17:117:32 | ... ? ... : ... | empty | -| D.cs:118:13:118:13 | access to local variable x | non-empty | D.cs:117:17:117:32 | ... ? ... : ... | non-empty | -| D.cs:118:13:118:13 | access to local variable x | non-null | D.cs:117:17:117:32 | ... ? ... : ... | non-null | -| D.cs:118:13:118:13 | access to local variable x | null | D.cs:117:17:117:32 | ... ? ... : ... | null | -| D.cs:118:13:118:21 | ... == ... | false | D.cs:117:17:117:17 | access to parameter b | false | -| D.cs:118:13:118:21 | ... == ... | false | D.cs:118:13:118:13 | access to local variable x | non-null | -| D.cs:118:13:118:21 | ... == ... | true | D.cs:117:17:117:17 | access to parameter b | true | -| D.cs:118:13:118:21 | ... == ... | true | D.cs:118:13:118:13 | access to local variable x | null | -| D.cs:118:13:118:30 | ... ? ... : ... | null | D.cs:118:13:118:21 | ... == ... | false | -| D.cs:118:13:118:30 | ... ? ... : ... | null | D.cs:118:30:118:30 | access to local variable x | null | -| D.cs:118:30:118:30 | access to local variable x | non-null | D.cs:117:17:117:32 | ... ? ... : ... | non-null | -| D.cs:118:30:118:30 | access to local variable x | null | D.cs:117:17:117:32 | ... ? ... : ... | null | -| D.cs:119:13:119:13 | access to local variable x | empty | D.cs:118:13:118:30 | ... ? ... : ... | empty | -| D.cs:119:13:119:13 | access to local variable x | non-empty | D.cs:118:13:118:30 | ... ? ... : ... | non-empty | -| D.cs:119:13:119:13 | access to local variable x | non-null | D.cs:118:13:118:30 | ... ? ... : ... | non-null | -| D.cs:119:13:119:13 | access to local variable x | null | D.cs:118:13:118:30 | ... ? ... : ... | null | -| D.cs:119:13:119:21 | ... == ... | false | D.cs:119:13:119:13 | access to local variable x | non-null | -| D.cs:119:13:119:21 | ... == ... | true | D.cs:118:13:118:21 | ... == ... | false | -| D.cs:119:13:119:21 | ... == ... | true | D.cs:119:13:119:13 | access to local variable x | null | -| D.cs:120:13:120:13 | access to local variable x | non-null | D.cs:118:13:118:30 | ... ? ... : ... | non-null | -| D.cs:120:13:120:13 | access to local variable x | null | D.cs:118:13:118:30 | ... ? ... : ... | null | -| D.cs:122:13:122:13 | access to local variable x | non-null | D.cs:118:13:118:30 | ... ? ... : ... | non-null | -| D.cs:122:13:122:13 | access to local variable x | null | D.cs:118:13:118:30 | ... ? ... : ... | null | -| D.cs:127:20:127:28 | ... == ... | false | D.cs:127:20:127:20 | access to parameter a | non-null | -| D.cs:127:20:127:28 | ... == ... | true | D.cs:127:20:127:20 | access to parameter a | null | -| D.cs:128:20:128:28 | ... == ... | false | D.cs:128:20:128:20 | access to parameter b | non-null | -| D.cs:128:20:128:28 | ... == ... | true | D.cs:128:20:128:20 | access to parameter b | null | -| D.cs:139:13:139:21 | ... != ... | false | D.cs:139:13:139:13 | access to parameter a | null | -| D.cs:139:13:139:21 | ... != ... | true | D.cs:139:13:139:13 | access to parameter a | non-null | -| D.cs:152:17:152:27 | ... != ... | false | D.cs:152:17:152:19 | access to parameter obj | null | -| D.cs:152:17:152:27 | ... != ... | true | D.cs:152:17:152:19 | access to parameter obj | non-null | -| D.cs:182:9:182:12 | access to local variable obj2 | non-null | D.cs:176:20:176:28 | call to method MkMaybe | non-null | -| D.cs:182:9:182:12 | access to local variable obj2 | null | D.cs:176:20:176:28 | call to method MkMaybe | null | -| D.cs:196:13:196:13 | access to local variable o | non-null | D.cs:195:17:195:28 | object creation of type Object | non-null | -| D.cs:196:13:196:13 | access to local variable o | null | D.cs:195:17:195:28 | object creation of type Object | null | -| D.cs:196:13:196:21 | ... == ... | false | D.cs:196:13:196:13 | access to local variable o | non-null | -| D.cs:196:13:196:21 | ... == ... | true | D.cs:196:13:196:13 | access to local variable o | null | -| D.cs:196:13:196:21 | ... == ... | true | D.cs:196:18:196:21 | null | non-null | -| D.cs:197:13:197:13 | access to local variable o | non-null | D.cs:195:17:195:28 | object creation of type Object | non-null | -| D.cs:197:13:197:13 | access to local variable o | null | D.cs:195:17:195:28 | object creation of type Object | null | -| D.cs:198:9:198:9 | access to local variable o | non-null | D.cs:195:17:195:28 | object creation of type Object | non-null | -| D.cs:198:9:198:9 | access to local variable o | null | D.cs:195:17:195:28 | object creation of type Object | null | -| D.cs:206:17:206:25 | ... == ... | false | D.cs:206:17:206:17 | access to local variable e | non-null | -| D.cs:206:17:206:25 | ... == ... | true | D.cs:206:17:206:17 | access to local variable e | null | -| D.cs:212:18:212:18 | access to local variable n | non-null | D.cs:211:20:211:23 | null | non-null | -| D.cs:212:18:212:18 | access to local variable n | null | D.cs:211:20:211:23 | null | null | -| D.cs:212:18:212:26 | ... == ... | false | D.cs:212:18:212:18 | access to local variable n | non-null | -| D.cs:212:18:212:26 | ... == ... | false | D.cs:212:23:212:26 | null | non-null | -| D.cs:212:18:212:26 | ... == ... | true | D.cs:212:18:212:18 | access to local variable n | null | -| D.cs:212:18:212:26 | ... == ... | true | D.cs:212:23:212:26 | null | null | -| D.cs:212:18:212:45 | ... ? ... : ... | non-null | D.cs:212:18:212:26 | ... == ... | true | -| D.cs:212:18:212:45 | ... ? ... : ... | non-null | D.cs:212:30:212:41 | object creation of type Object | non-null | -| D.cs:212:18:212:45 | ... ? ... : ... | null | D.cs:212:18:212:26 | ... == ... | false | -| D.cs:212:18:212:45 | ... ? ... : ... | null | D.cs:212:45:212:45 | access to local variable n | null | -| D.cs:212:45:212:45 | access to local variable n | non-null | D.cs:211:20:211:23 | null | non-null | -| D.cs:212:45:212:45 | access to local variable n | null | D.cs:211:20:211:23 | null | null | -| D.cs:213:9:213:10 | access to local variable o2 | non-null | D.cs:212:18:212:45 | ... ? ... : ... | non-null | -| D.cs:213:9:213:10 | access to local variable o2 | null | D.cs:212:18:212:45 | ... ? ... : ... | null | -| D.cs:216:13:216:14 | access to local variable o3 | empty | D.cs:215:18:215:22 | "abc" | empty | -| D.cs:216:13:216:14 | access to local variable o3 | non-empty | D.cs:215:18:215:22 | "abc" | non-empty | -| D.cs:216:13:216:14 | access to local variable o3 | non-null | D.cs:215:18:215:22 | "abc" | non-null | -| D.cs:216:13:216:14 | access to local variable o3 | null | D.cs:215:18:215:22 | "abc" | null | -| D.cs:216:13:216:22 | ... == ... | false | D.cs:216:13:216:14 | access to local variable o3 | non-null | -| D.cs:216:13:216:22 | ... == ... | true | D.cs:216:13:216:14 | access to local variable o3 | null | -| D.cs:216:13:216:22 | ... == ... | true | D.cs:216:19:216:22 | null | non-null | -| D.cs:217:13:217:14 | access to local variable o3 | non-null | D.cs:215:18:215:22 | "abc" | non-null | -| D.cs:217:13:217:14 | access to local variable o3 | null | D.cs:215:18:215:22 | "abc" | null | -| D.cs:218:9:218:10 | access to local variable o3 | non-null | D.cs:215:18:215:22 | "abc" | non-null | -| D.cs:218:9:218:10 | access to local variable o3 | null | D.cs:215:18:215:22 | "abc" | null | -| D.cs:220:18:220:26 | ... + ... | non-null | D.cs:220:18:220:19 | "" | non-null | -| D.cs:220:18:220:26 | ... + ... | non-null | D.cs:220:23:220:26 | null | non-null | -| D.cs:220:18:220:26 | ... + ... | null | D.cs:220:23:220:26 | null | null | -| D.cs:221:13:221:14 | access to local variable o4 | empty | D.cs:220:18:220:26 | ... + ... | empty | -| D.cs:221:13:221:14 | access to local variable o4 | non-empty | D.cs:220:18:220:26 | ... + ... | non-empty | -| D.cs:221:13:221:14 | access to local variable o4 | non-null | D.cs:220:18:220:26 | ... + ... | non-null | -| D.cs:221:13:221:14 | access to local variable o4 | null | D.cs:220:18:220:26 | ... + ... | null | -| D.cs:221:13:221:22 | ... == ... | false | D.cs:221:13:221:14 | access to local variable o4 | non-null | -| D.cs:221:13:221:22 | ... == ... | true | D.cs:221:13:221:14 | access to local variable o4 | null | -| D.cs:221:13:221:22 | ... == ... | true | D.cs:221:19:221:22 | null | non-null | -| D.cs:222:13:222:14 | access to local variable o4 | non-null | D.cs:220:18:220:26 | ... + ... | non-null | -| D.cs:222:13:222:14 | access to local variable o4 | null | D.cs:220:18:220:26 | ... + ... | null | -| D.cs:223:9:223:10 | access to local variable o4 | non-null | D.cs:220:18:220:26 | ... + ... | non-null | -| D.cs:223:9:223:10 | access to local variable o4 | null | D.cs:220:18:220:26 | ... + ... | null | -| D.cs:241:21:241:37 | ... ? ... : ... | non-null | D.cs:241:21:241:25 | access to field maybe | false | -| D.cs:241:21:241:37 | ... ? ... : ... | non-null | D.cs:241:36:241:37 | "" | non-null | -| D.cs:241:21:241:37 | ... ? ... : ... | null | D.cs:241:21:241:25 | access to field maybe | true | -| D.cs:241:21:241:37 | ... ? ... : ... | null | D.cs:241:29:241:32 | null | null | -| D.cs:242:13:242:17 | access to local variable other | empty | D.cs:241:21:241:37 | ... ? ... : ... | empty | -| D.cs:242:13:242:17 | access to local variable other | non-empty | D.cs:241:21:241:37 | ... ? ... : ... | non-empty | -| D.cs:242:13:242:17 | access to local variable other | non-null | D.cs:241:21:241:37 | ... ? ... : ... | non-null | -| D.cs:242:13:242:17 | access to local variable other | null | D.cs:241:21:241:37 | ... ? ... : ... | null | -| D.cs:242:13:242:25 | ... == ... | false | D.cs:241:21:241:25 | access to field maybe | false | -| D.cs:242:13:242:25 | ... == ... | false | D.cs:242:13:242:17 | access to local variable other | non-null | -| D.cs:242:13:242:25 | ... == ... | true | D.cs:241:21:241:25 | access to field maybe | true | -| D.cs:242:13:242:25 | ... == ... | true | D.cs:242:13:242:17 | access to local variable other | null | -| D.cs:244:13:244:17 | access to local variable other | non-null | D.cs:241:21:241:37 | ... ? ... : ... | non-null | -| D.cs:244:13:244:17 | access to local variable other | null | D.cs:241:21:241:37 | ... ? ... : ... | null | -| D.cs:244:13:244:25 | ... != ... | false | D.cs:241:21:241:25 | access to field maybe | true | -| D.cs:244:13:244:25 | ... != ... | false | D.cs:244:13:244:17 | access to local variable other | null | -| D.cs:244:13:244:25 | ... != ... | true | D.cs:241:21:241:25 | access to field maybe | false | -| D.cs:244:13:244:25 | ... != ... | true | D.cs:244:13:244:17 | access to local variable other | non-null | -| D.cs:249:18:249:38 | ... ? ... : ... | non-null | D.cs:249:19:249:25 | ... < ... | false | -| D.cs:249:18:249:38 | ... ? ... : ... | non-null | D.cs:249:37:249:38 | "" | non-null | -| D.cs:249:18:249:38 | ... ? ... : ... | null | D.cs:249:19:249:25 | ... < ... | true | -| D.cs:249:18:249:38 | ... ? ... : ... | null | D.cs:249:30:249:33 | null | null | -| D.cs:253:13:253:14 | access to local variable o2 | empty | D.cs:249:18:249:38 | ... ? ... : ... | empty | -| D.cs:253:13:253:14 | access to local variable o2 | non-empty | D.cs:249:18:249:38 | ... ? ... : ... | non-empty | -| D.cs:253:13:253:14 | access to local variable o2 | non-null | D.cs:249:18:249:38 | ... ? ... : ... | non-null | -| D.cs:253:13:253:14 | access to local variable o2 | null | D.cs:249:18:249:38 | ... ? ... : ... | null | -| D.cs:266:13:266:27 | ... is ... | true | D.cs:266:13:266:17 | access to local variable other | non-null | -| D.cs:310:21:310:26 | ... + ... | non-null | D.cs:310:21:310:22 | "" | non-null | -| D.cs:310:21:310:26 | ... + ... | non-null | D.cs:310:26:310:26 | call to method ToString | non-null | -| D.cs:310:21:310:26 | ... + ... | null | D.cs:310:26:310:26 | call to method ToString | null | -| D.cs:312:17:312:23 | !... | false | D.cs:312:18:312:23 | access to local variable s_null | true | -| D.cs:312:17:312:23 | !... | true | D.cs:312:18:312:23 | access to local variable s_null | false | -| D.cs:318:16:318:62 | ... && ... | true | D.cs:318:16:318:36 | ... == ... | true | -| D.cs:318:16:318:62 | ... && ... | true | D.cs:318:41:318:62 | ... != ... | true | -| D.cs:336:13:336:23 | ... == ... | false | D.cs:336:13:336:15 | access to parameter obj | non-null | -| D.cs:336:13:336:23 | ... == ... | true | D.cs:336:13:336:15 | access to parameter obj | null | -| D.cs:341:13:341:23 | ... != ... | false | D.cs:336:13:336:23 | ... == ... | false | -| D.cs:341:13:341:23 | ... != ... | false | D.cs:341:13:341:15 | access to local variable msg | null | -| D.cs:341:13:341:23 | ... != ... | true | D.cs:341:13:341:15 | access to local variable msg | non-null | -| D.cs:343:13:343:27 | ... + ... | non-null | D.cs:343:13:343:15 | access to local variable msg | non-null | -| D.cs:343:13:343:27 | ... + ... | non-null | D.cs:343:20:343:27 | "foobar" | non-null | -| D.cs:343:13:343:27 | ... + ... | null | D.cs:343:13:343:15 | access to local variable msg | null | -| D.cs:343:13:343:27 | ... = ... | empty | D.cs:343:13:343:15 | access to local variable msg | empty | -| D.cs:343:13:343:27 | ... = ... | empty | D.cs:343:13:343:27 | ... + ... | empty | -| D.cs:343:13:343:27 | ... = ... | non-empty | D.cs:343:13:343:15 | access to local variable msg | non-empty | -| D.cs:343:13:343:27 | ... = ... | non-empty | D.cs:343:13:343:27 | ... + ... | non-empty | -| D.cs:343:13:343:27 | ... = ... | non-null | D.cs:343:13:343:15 | access to local variable msg | non-null | -| D.cs:343:13:343:27 | ... = ... | non-null | D.cs:343:13:343:27 | ... + ... | non-null | -| D.cs:343:13:343:27 | ... = ... | null | D.cs:343:13:343:15 | access to local variable msg | null | -| D.cs:343:13:343:27 | ... = ... | null | D.cs:343:13:343:27 | ... + ... | null | -| D.cs:344:33:344:35 | access to local variable msg | empty | D.cs:343:13:343:27 | ... + ... | empty | -| D.cs:344:33:344:35 | access to local variable msg | non-empty | D.cs:343:13:343:27 | ... + ... | non-empty | -| D.cs:344:33:344:35 | access to local variable msg | non-null | D.cs:343:13:343:27 | ... + ... | non-null | -| D.cs:344:33:344:35 | access to local variable msg | null | D.cs:343:13:343:27 | ... + ... | null | -| D.cs:366:19:366:47 | ... ? ... : ... | non-null | D.cs:366:19:366:23 | access to field maybe | false | -| D.cs:366:19:366:47 | ... ? ... : ... | non-null | D.cs:366:34:366:47 | array creation of type Int32[] | non-null | -| D.cs:366:19:366:47 | ... ? ... : ... | null | D.cs:366:19:366:23 | access to field maybe | true | -| D.cs:366:19:366:47 | ... ? ... : ... | null | D.cs:366:27:366:30 | null | null | -| D.cs:367:13:367:56 | ... && ... | true | D.cs:367:13:367:21 | ... > ... | true | -| D.cs:367:13:367:56 | ... && ... | true | D.cs:367:27:367:55 | ... \|\| ... | true | -| D.cs:367:27:367:27 | access to local variable b | empty | D.cs:366:19:366:47 | ... ? ... : ... | empty | -| D.cs:367:27:367:27 | access to local variable b | non-empty | D.cs:366:19:366:47 | ... ? ... : ... | non-empty | -| D.cs:367:27:367:27 | access to local variable b | non-null | D.cs:366:19:366:47 | ... ? ... : ... | non-null | -| D.cs:367:27:367:27 | access to local variable b | null | D.cs:366:19:366:47 | ... ? ... : ... | null | -| D.cs:367:27:367:35 | ... == ... | false | D.cs:366:19:366:23 | access to field maybe | false | -| D.cs:367:27:367:35 | ... == ... | false | D.cs:367:27:367:27 | access to local variable b | non-null | -| D.cs:367:27:367:35 | ... == ... | true | D.cs:366:19:366:23 | access to field maybe | true | -| D.cs:367:27:367:35 | ... == ... | true | D.cs:367:27:367:27 | access to local variable b | null | -| D.cs:367:27:367:55 | ... \|\| ... | false | D.cs:367:27:367:35 | ... == ... | false | -| D.cs:367:27:367:55 | ... \|\| ... | false | D.cs:367:40:367:55 | ... < ... | false | -| D.cs:367:40:367:40 | access to local variable b | non-null | D.cs:366:19:366:47 | ... ? ... : ... | non-null | -| D.cs:367:40:367:40 | access to local variable b | null | D.cs:366:19:366:47 | ... ? ... : ... | null | -| D.cs:372:13:372:13 | access to local variable b | non-null | D.cs:366:19:366:47 | ... ? ... : ... | non-null | -| D.cs:372:13:372:13 | access to local variable b | null | D.cs:366:19:366:47 | ... ? ... : ... | null | -| D.cs:382:13:382:23 | ... != ... | false | D.cs:379:13:379:13 | access to parameter b | false | -| D.cs:382:13:382:23 | ... != ... | false | D.cs:382:13:382:15 | access to local variable ioe | null | -| D.cs:382:13:382:23 | ... != ... | true | D.cs:382:13:382:15 | access to local variable ioe | non-null | -| D.cs:390:20:390:28 | ... == ... | false | D.cs:390:20:390:20 | access to parameter a | non-null | -| D.cs:390:20:390:28 | ... == ... | true | D.cs:390:20:390:20 | access to parameter a | null | -| D.cs:397:20:397:28 | ... == ... | false | D.cs:397:20:397:20 | access to parameter b | non-null | -| D.cs:397:20:397:28 | ... == ... | true | D.cs:397:20:397:20 | access to parameter b | null | -| D.cs:407:13:407:64 | ... \|\| ... | false | D.cs:407:14:407:35 | ... && ... | false | -| D.cs:407:13:407:64 | ... \|\| ... | false | D.cs:407:42:407:63 | ... && ... | false | -| D.cs:407:14:407:22 | ... != ... | false | D.cs:407:14:407:14 | access to parameter x | null | -| D.cs:407:14:407:22 | ... != ... | true | D.cs:407:14:407:14 | access to parameter x | non-null | -| D.cs:407:14:407:35 | ... && ... | true | D.cs:407:14:407:22 | ... != ... | true | -| D.cs:407:14:407:35 | ... && ... | true | D.cs:407:27:407:35 | ... == ... | true | -| D.cs:407:27:407:35 | ... == ... | false | D.cs:407:27:407:27 | access to parameter y | non-null | -| D.cs:407:27:407:35 | ... == ... | true | D.cs:407:27:407:27 | access to parameter y | null | -| D.cs:407:42:407:50 | ... == ... | false | D.cs:407:42:407:42 | access to parameter x | non-null | -| D.cs:407:42:407:50 | ... == ... | true | D.cs:407:42:407:42 | access to parameter x | null | -| D.cs:407:42:407:63 | ... && ... | true | D.cs:407:42:407:50 | ... == ... | true | -| D.cs:407:42:407:63 | ... && ... | true | D.cs:407:55:407:63 | ... != ... | true | -| D.cs:407:55:407:63 | ... != ... | false | D.cs:407:55:407:55 | access to parameter y | null | -| D.cs:407:55:407:63 | ... != ... | true | D.cs:407:55:407:55 | access to parameter y | non-null | -| D.cs:409:13:409:21 | ... != ... | false | D.cs:409:13:409:13 | access to parameter x | null | -| D.cs:409:13:409:21 | ... != ... | true | D.cs:409:13:409:13 | access to parameter x | non-null | -| D.cs:411:13:411:21 | ... != ... | false | D.cs:411:13:411:13 | access to parameter y | null | -| D.cs:411:13:411:21 | ... != ... | true | D.cs:411:13:411:13 | access to parameter y | non-null | -| E.cs:10:22:10:54 | ... && ... | true | E.cs:10:22:10:29 | ... < ... | true | -| E.cs:10:22:10:54 | ... && ... | true | E.cs:10:34:10:54 | ... != ... | true | -| E.cs:10:34:10:54 | ... != ... | false | E.cs:10:35:10:45 | ... = ... | null | -| E.cs:10:34:10:54 | ... != ... | true | E.cs:10:35:10:45 | ... = ... | non-null | -| E.cs:10:35:10:45 | ... = ... | empty | E.cs:10:35:10:36 | access to local variable a2 | empty | -| E.cs:10:35:10:45 | ... = ... | empty | E.cs:10:40:10:45 | access to array element | empty | -| E.cs:10:35:10:45 | ... = ... | non-empty | E.cs:10:35:10:36 | access to local variable a2 | non-empty | -| E.cs:10:35:10:45 | ... = ... | non-empty | E.cs:10:40:10:45 | access to array element | non-empty | -| E.cs:10:35:10:45 | ... = ... | non-null | E.cs:10:35:10:36 | access to local variable a2 | non-null | -| E.cs:10:35:10:45 | ... = ... | non-null | E.cs:10:40:10:45 | access to array element | non-null | -| E.cs:10:35:10:45 | ... = ... | null | E.cs:10:35:10:36 | access to local variable a2 | null | -| E.cs:10:35:10:45 | ... = ... | null | E.cs:10:40:10:45 | access to array element | null | -| E.cs:12:22:12:27 | access to local variable haveA2 | false | E.cs:10:22:10:54 | ... && ... | false | -| E.cs:12:22:12:27 | access to local variable haveA2 | true | E.cs:10:22:10:54 | ... && ... | true | -| E.cs:12:22:12:52 | ... && ... | true | E.cs:12:22:12:27 | access to local variable haveA2 | true | -| E.cs:12:22:12:52 | ... && ... | true | E.cs:12:32:12:52 | ... != ... | true | -| E.cs:12:32:12:52 | ... != ... | false | E.cs:12:33:12:43 | ... = ... | null | -| E.cs:12:32:12:52 | ... != ... | true | E.cs:12:33:12:43 | ... = ... | non-null | -| E.cs:12:33:12:43 | ... = ... | empty | E.cs:12:33:12:34 | access to local variable a3 | empty | -| E.cs:12:33:12:43 | ... = ... | empty | E.cs:12:38:12:43 | access to array element | empty | -| E.cs:12:33:12:43 | ... = ... | non-empty | E.cs:12:33:12:34 | access to local variable a3 | non-empty | -| E.cs:12:33:12:43 | ... = ... | non-empty | E.cs:12:38:12:43 | access to array element | non-empty | -| E.cs:12:33:12:43 | ... = ... | non-null | E.cs:12:33:12:34 | access to local variable a3 | non-null | -| E.cs:12:33:12:43 | ... = ... | non-null | E.cs:12:38:12:43 | access to array element | non-null | -| E.cs:12:33:12:43 | ... = ... | null | E.cs:12:33:12:34 | access to local variable a3 | null | -| E.cs:12:33:12:43 | ... = ... | null | E.cs:12:38:12:43 | access to array element | null | -| E.cs:13:13:13:18 | access to local variable haveA3 | false | E.cs:12:22:12:52 | ... && ... | false | -| E.cs:13:13:13:18 | access to local variable haveA3 | true | E.cs:12:22:12:52 | ... && ... | true | -| E.cs:19:18:19:30 | ... ? ... : ... | non-null | E.cs:19:18:19:18 | access to parameter x | false | -| E.cs:19:18:19:30 | ... ? ... : ... | non-null | E.cs:19:29:19:30 | "" | non-null | -| E.cs:19:18:19:30 | ... ? ... : ... | null | E.cs:19:18:19:18 | access to parameter x | true | -| E.cs:19:18:19:30 | ... ? ... : ... | null | E.cs:19:22:19:25 | null | null | -| E.cs:20:18:20:41 | ... ? ... : ... | non-null | E.cs:20:19:20:28 | ... == ... | false | -| E.cs:20:18:20:41 | ... ? ... : ... | non-null | E.cs:20:40:20:41 | "" | non-null | -| E.cs:20:18:20:41 | ... ? ... : ... | null | E.cs:20:19:20:28 | ... == ... | true | -| E.cs:20:18:20:41 | ... ? ... : ... | null | E.cs:20:33:20:36 | null | null | -| E.cs:20:19:20:20 | access to local variable s1 | empty | E.cs:19:18:19:30 | ... ? ... : ... | empty | -| E.cs:20:19:20:20 | access to local variable s1 | non-empty | E.cs:19:18:19:30 | ... ? ... : ... | non-empty | -| E.cs:20:19:20:20 | access to local variable s1 | non-null | E.cs:19:18:19:30 | ... ? ... : ... | non-null | -| E.cs:20:19:20:20 | access to local variable s1 | null | E.cs:19:18:19:30 | ... ? ... : ... | null | -| E.cs:20:19:20:28 | ... == ... | false | E.cs:19:18:19:18 | access to parameter x | false | -| E.cs:20:19:20:28 | ... == ... | false | E.cs:20:19:20:20 | access to local variable s1 | non-null | -| E.cs:20:19:20:28 | ... == ... | true | E.cs:19:18:19:18 | access to parameter x | true | -| E.cs:20:19:20:28 | ... == ... | true | E.cs:20:19:20:20 | access to local variable s1 | null | -| E.cs:21:13:21:14 | access to local variable s2 | empty | E.cs:20:18:20:41 | ... ? ... : ... | empty | -| E.cs:21:13:21:14 | access to local variable s2 | non-empty | E.cs:20:18:20:41 | ... ? ... : ... | non-empty | -| E.cs:21:13:21:14 | access to local variable s2 | non-null | E.cs:20:18:20:41 | ... ? ... : ... | non-null | -| E.cs:21:13:21:14 | access to local variable s2 | null | E.cs:20:18:20:41 | ... ? ... : ... | null | -| E.cs:21:13:21:22 | ... == ... | false | E.cs:20:19:20:28 | ... == ... | false | -| E.cs:21:13:21:22 | ... == ... | false | E.cs:21:13:21:14 | access to local variable s2 | non-null | -| E.cs:21:13:21:22 | ... == ... | true | E.cs:20:19:20:28 | ... == ... | true | -| E.cs:21:13:21:22 | ... == ... | true | E.cs:21:13:21:14 | access to local variable s2 | null | -| E.cs:23:18:23:30 | ... ? ... : ... | non-null | E.cs:23:18:23:18 | access to parameter y | false | -| E.cs:23:18:23:30 | ... ? ... : ... | non-null | E.cs:23:29:23:30 | "" | non-null | -| E.cs:23:18:23:30 | ... ? ... : ... | null | E.cs:23:18:23:18 | access to parameter y | true | -| E.cs:23:18:23:30 | ... ? ... : ... | null | E.cs:23:22:23:25 | null | null | -| E.cs:24:18:24:41 | ... ? ... : ... | non-null | E.cs:24:19:24:28 | ... == ... | false | -| E.cs:24:18:24:41 | ... ? ... : ... | non-null | E.cs:24:40:24:41 | "" | non-null | -| E.cs:24:18:24:41 | ... ? ... : ... | null | E.cs:24:19:24:28 | ... == ... | true | -| E.cs:24:18:24:41 | ... ? ... : ... | null | E.cs:24:33:24:36 | null | null | -| E.cs:24:19:24:20 | access to local variable s1 | empty | E.cs:23:18:23:30 | ... ? ... : ... | empty | -| E.cs:24:19:24:20 | access to local variable s1 | non-empty | E.cs:23:18:23:30 | ... ? ... : ... | non-empty | -| E.cs:24:19:24:20 | access to local variable s1 | non-null | E.cs:23:18:23:30 | ... ? ... : ... | non-null | -| E.cs:24:19:24:20 | access to local variable s1 | null | E.cs:23:18:23:30 | ... ? ... : ... | null | -| E.cs:24:19:24:28 | ... == ... | false | E.cs:23:18:23:18 | access to parameter y | false | -| E.cs:24:19:24:28 | ... == ... | false | E.cs:24:19:24:20 | access to local variable s1 | non-null | -| E.cs:24:19:24:28 | ... == ... | true | E.cs:23:18:23:18 | access to parameter y | true | -| E.cs:24:19:24:28 | ... == ... | true | E.cs:24:19:24:20 | access to local variable s1 | null | -| E.cs:26:13:26:22 | ... != ... | false | E.cs:26:13:26:14 | access to local variable s2 | null | -| E.cs:26:13:26:22 | ... != ... | true | E.cs:26:13:26:14 | access to local variable s2 | non-null | -| E.cs:38:13:38:20 | call to method Any | false | E.cs:38:13:38:14 | access to parameter ss | empty | -| E.cs:38:13:38:20 | call to method Any | true | E.cs:38:13:38:14 | access to parameter ss | non-empty | -| E.cs:53:16:53:19 | access to local variable iter | non-null | E.cs:52:20:52:39 | call to method GetEnumerator | non-null | -| E.cs:53:16:53:19 | access to local variable iter | null | E.cs:52:20:52:39 | call to method GetEnumerator | null | -| E.cs:55:23:55:26 | access to local variable iter | non-null | E.cs:52:20:52:39 | call to method GetEnumerator | non-null | -| E.cs:55:23:55:26 | access to local variable iter | null | E.cs:52:20:52:39 | call to method GetEnumerator | null | -| E.cs:59:17:59:22 | access to local variable result | empty | E.cs:50:22:50:45 | object creation of type List> | empty | -| E.cs:59:17:59:22 | access to local variable result | non-empty | E.cs:50:22:50:45 | object creation of type List> | non-empty | -| E.cs:59:17:59:22 | access to local variable result | non-null | E.cs:50:22:50:45 | object creation of type List> | non-null | -| E.cs:59:17:59:22 | access to local variable result | null | E.cs:50:22:50:45 | object creation of type List> | null | -| E.cs:59:28:59:32 | access to local variable slice | empty | E.cs:58:25:58:42 | object creation of type List | empty | -| E.cs:59:28:59:32 | access to local variable slice | non-empty | E.cs:58:25:58:42 | object creation of type List | non-empty | -| E.cs:59:28:59:32 | access to local variable slice | non-null | E.cs:58:25:58:42 | object creation of type List | non-null | -| E.cs:59:28:59:32 | access to local variable slice | null | E.cs:58:25:58:42 | object creation of type List | null | -| E.cs:61:23:61:25 | access to local variable str | empty | E.cs:55:23:55:34 | access to property Current | empty | -| E.cs:61:23:61:25 | access to local variable str | non-empty | E.cs:55:23:55:34 | access to property Current | non-empty | -| E.cs:61:23:61:25 | access to local variable str | non-null | E.cs:55:23:55:34 | access to property Current | non-null | -| E.cs:61:23:61:25 | access to local variable str | null | E.cs:55:23:55:34 | access to property Current | null | -| E.cs:70:22:70:32 | ... == ... | false | E.cs:70:22:70:24 | access to parameter arr | non-null | -| E.cs:70:22:70:32 | ... == ... | true | E.cs:70:22:70:24 | access to parameter arr | null | -| E.cs:83:13:83:24 | ... != ... | false | E.cs:83:13:83:16 | access to parameter vals | null | -| E.cs:83:13:83:24 | ... != ... | true | E.cs:83:13:83:16 | access to parameter vals | non-null | -| E.cs:83:13:83:30 | ... && ... | true | E.cs:83:13:83:24 | ... != ... | true | -| E.cs:83:13:83:30 | ... && ... | true | E.cs:83:29:83:30 | access to parameter b1 | true | -| E.cs:85:18:85:29 | ... != ... | false | E.cs:85:18:85:21 | access to parameter vals | null | -| E.cs:85:18:85:29 | ... != ... | true | E.cs:85:18:85:21 | access to parameter vals | non-null | -| E.cs:85:18:85:35 | ... && ... | true | E.cs:85:18:85:29 | ... != ... | true | -| E.cs:85:18:85:35 | ... && ... | true | E.cs:85:34:85:35 | access to parameter b2 | true | -| E.cs:90:17:90:27 | access to local variable switchguard | match access to constant MY_CONST_A | E.cs:83:13:83:30 | ... && ... | true | -| 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 | 1 | -| E.cs:90:17:90:27 | access to local variable switchguard | match access to constant MY_CONST_B | E.cs:83:13:83:30 | ... && ... | false | -| E.cs:90:17:90:27 | access to local variable switchguard | match access to constant MY_CONST_B | E.cs:85:18:85:35 | ... && ... | true | -| 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 | 2 | -| E.cs:90:17:90:27 | access to local variable switchguard | match access to constant MY_CONST_C | E.cs:83:13:83:30 | ... && ... | false | -| E.cs:90:17:90:27 | access to local variable switchguard | match access to constant MY_CONST_C | E.cs:85:18:85:35 | ... && ... | false | -| 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 | 3 | -| E.cs:90:17:90:27 | access to local variable switchguard | non-match access to constant MY_CONST_A | E.cs:83:13:83:30 | ... && ... | false | -| E.cs:108:13:108:27 | ... > ... | true | E.cs:108:13:108:16 | access to parameter arr1 | non-empty | -| E.cs:120:16:120:20 | !... | false | E.cs:120:17:120:20 | access to local variable stop | true | -| E.cs:120:16:120:20 | !... | true | E.cs:120:17:120:20 | access to local variable stop | false | -| E.cs:123:20:123:24 | !... | false | E.cs:123:21:123:24 | access to local variable stop | true | -| E.cs:123:20:123:24 | !... | true | E.cs:123:21:123:24 | access to local variable stop | false | -| E.cs:123:20:123:35 | ... && ... | true | E.cs:123:20:123:24 | !... | true | -| E.cs:123:20:123:35 | ... && ... | true | E.cs:123:29:123:35 | ... < ... | true | -| E.cs:131:25:131:29 | !... | false | E.cs:131:26:131:29 | access to local variable stop | true | -| E.cs:131:25:131:29 | !... | true | E.cs:131:26:131:29 | access to local variable stop | false | -| E.cs:131:26:131:29 | access to local variable stop | false | E.cs:130:28:130:33 | ... >= ... | false | -| E.cs:131:26:131:29 | access to local variable stop | true | E.cs:130:28:130:33 | ... >= ... | true | -| E.cs:153:13:153:16 | access to local variable obj2 | non-null | E.cs:152:23:152:26 | access to parameter obj1 | non-null | -| E.cs:153:13:153:16 | access to local variable obj2 | null | E.cs:152:23:152:26 | access to parameter obj1 | null | -| E.cs:153:13:153:24 | ... != ... | false | E.cs:153:13:153:16 | access to local variable obj2 | null | -| E.cs:153:13:153:24 | ... != ... | true | E.cs:153:13:153:16 | access to local variable obj2 | non-null | -| E.cs:153:13:153:54 | ... && ... | true | E.cs:153:13:153:24 | ... != ... | true | -| E.cs:153:13:153:54 | ... && ... | true | E.cs:153:29:153:54 | ... > ... | true | -| E.cs:153:29:153:32 | access to local variable obj2 | non-null | E.cs:152:23:152:26 | access to parameter obj1 | non-null | -| E.cs:153:29:153:32 | access to local variable obj2 | null | E.cs:152:23:152:26 | access to parameter obj1 | null | -| E.cs:155:13:155:16 | access to local variable obj2 | non-null | E.cs:152:23:152:26 | access to parameter obj1 | non-null | -| E.cs:155:13:155:16 | access to local variable obj2 | null | E.cs:152:23:152:26 | access to parameter obj1 | null | -| E.cs:159:13:159:16 | access to local variable obj2 | non-null | E.cs:152:23:152:26 | access to parameter obj1 | non-null | -| E.cs:159:13:159:16 | access to local variable obj2 | null | E.cs:152:23:152:26 | access to parameter obj1 | null | -| E.cs:164:17:164:25 | ... == ... | false | E.cs:164:17:164:17 | access to parameter a | non-null | -| E.cs:164:17:164:25 | ... == ... | true | E.cs:164:17:164:17 | access to parameter a | null | -| E.cs:175:19:175:29 | ... == ... | false | E.cs:175:19:175:21 | access to parameter obj | non-null | -| E.cs:175:19:175:29 | ... == ... | true | E.cs:175:19:175:21 | access to parameter obj | null | -| E.cs:175:19:175:42 | ... ? ... : ... | true | E.cs:175:19:175:29 | ... == ... | false | -| E.cs:175:19:175:42 | ... ? ... : ... | true | E.cs:175:41:175:42 | access to parameter b1 | true | -| E.cs:176:13:176:14 | (...) ... | non-null | E.cs:176:13:176:14 | access to local variable b2 | non-null | -| E.cs:176:13:176:14 | (...) ... | null | E.cs:176:13:176:14 | access to local variable b2 | null | -| E.cs:176:13:176:14 | access to local variable b2 | false | E.cs:175:19:175:42 | ... ? ... : ... | false | -| E.cs:176:13:176:14 | access to local variable b2 | true | E.cs:175:19:175:42 | ... ? ... : ... | true | -| E.cs:176:13:176:22 | ... == ... | false | E.cs:176:13:176:14 | (...) ... | non-null | -| E.cs:176:13:176:22 | ... == ... | true | E.cs:176:13:176:14 | (...) ... | null | -| E.cs:176:13:176:22 | ... == ... | true | E.cs:176:19:176:22 | null | non-null | -| E.cs:180:13:180:23 | ... == ... | false | E.cs:180:13:180:15 | access to parameter obj | non-null | -| E.cs:180:13:180:23 | ... == ... | true | E.cs:180:13:180:15 | access to parameter obj | null | -| E.cs:184:13:184:14 | (...) ... | non-null | E.cs:184:13:184:14 | access to parameter b1 | non-null | -| E.cs:184:13:184:14 | (...) ... | null | E.cs:184:13:184:14 | access to parameter b1 | null | -| E.cs:184:13:184:22 | ... == ... | false | E.cs:184:13:184:14 | (...) ... | non-null | -| E.cs:184:13:184:22 | ... == ... | true | E.cs:184:13:184:14 | (...) ... | null | -| E.cs:184:13:184:22 | ... == ... | true | E.cs:184:19:184:22 | null | non-null | -| E.cs:193:17:193:29 | call to method ToString | non-null | E.cs:193:17:193:17 | access to parameter o | non-null | -| E.cs:198:17:198:29 | ... ? ... : ... | non-null | E.cs:198:17:198:17 | access to parameter b | false | -| E.cs:198:17:198:29 | ... ? ... : ... | non-null | E.cs:198:28:198:29 | "" | non-null | -| E.cs:198:17:198:29 | ... ? ... : ... | null | E.cs:198:17:198:17 | access to parameter b | true | -| E.cs:198:17:198:29 | ... ? ... : ... | null | E.cs:198:21:198:24 | null | null | -| E.cs:199:9:199:9 | access to local variable o | empty | E.cs:198:17:198:29 | ... ? ... : ... | empty | -| E.cs:199:9:199:9 | access to local variable o | non-empty | E.cs:198:17:198:29 | ... ? ... : ... | non-empty | -| E.cs:199:9:199:9 | access to local variable o | non-null | E.cs:198:17:198:29 | ... ? ... : ... | non-null | -| E.cs:199:9:199:9 | access to local variable o | null | E.cs:198:17:198:29 | ... ? ... : ... | null | -| E.cs:201:13:201:13 | access to local variable o | non-null | E.cs:198:17:198:29 | ... ? ... : ... | non-null | -| E.cs:201:13:201:13 | access to local variable o | null | E.cs:198:17:198:29 | ... ? ... : ... | null | -| E.cs:203:13:203:13 | access to local variable o | non-null | E.cs:198:17:198:29 | ... ? ... : ... | non-null | -| E.cs:203:13:203:13 | access to local variable o | null | E.cs:198:17:198:29 | ... ? ... : ... | null | -| E.cs:208:13:208:23 | ... is ... | false | E.cs:208:13:208:13 | access to parameter s | null | -| E.cs:208:13:208:23 | ... is ... | true | E.cs:208:13:208:13 | access to parameter s | non-null | -| E.cs:245:13:245:22 | access to property HasValue | false | E.cs:245:13:245:13 | access to parameter i | null | -| E.cs:245:13:245:22 | access to property HasValue | true | E.cs:245:13:245:13 | access to parameter i | non-null | -| E.cs:252:13:252:21 | ... != ... | false | E.cs:252:13:252:13 | access to parameter i | null | -| E.cs:252:13:252:21 | ... != ... | true | E.cs:252:13:252:13 | access to parameter i | non-null | -| E.cs:259:13:259:21 | ... == ... | false | E.cs:259:13:259:13 | access to parameter i | non-null | -| E.cs:259:13:259:21 | ... == ... | true | E.cs:259:13:259:13 | access to parameter i | null | -| E.cs:270:13:270:13 | access to local variable o | non-null | E.cs:269:17:269:22 | call to method Make | non-null | -| E.cs:270:13:270:13 | access to local variable o | null | E.cs:269:17:269:22 | call to method Make | null | -| E.cs:274:17:274:25 | ... != ... | false | E.cs:274:17:274:17 | access to local variable o | null | -| E.cs:274:17:274:25 | ... != ... | true | E.cs:274:17:274:17 | access to local variable o | non-null | -| E.cs:284:9:284:9 | access to local variable o | empty | E.cs:283:17:283:22 | call to method Make | empty | -| E.cs:284:9:284:9 | access to local variable o | non-empty | E.cs:283:17:283:22 | call to method Make | non-empty | -| E.cs:284:9:284:9 | access to local variable o | non-null | E.cs:283:17:283:22 | call to method Make | non-null | -| E.cs:284:9:284:9 | access to local variable o | null | E.cs:283:17:283:22 | call to method Make | null | -| E.cs:285:9:285:9 | access to local variable o | non-null | E.cs:283:17:283:22 | call to method Make | non-null | -| E.cs:285:9:285:9 | access to local variable o | null | E.cs:283:17:283:22 | call to method Make | null | -| E.cs:292:20:292:32 | ... ? ... : ... | non-null | E.cs:292:20:292:20 | access to parameter b | false | -| E.cs:292:20:292:32 | ... ? ... : ... | non-null | E.cs:292:31:292:32 | "" | non-null | -| E.cs:292:20:292:32 | ... ? ... : ... | null | E.cs:292:20:292:20 | access to parameter b | true | -| E.cs:292:20:292:32 | ... ? ... : ... | null | E.cs:292:24:292:27 | null | null | -| E.cs:293:13:293:13 | access to local variable s | empty | E.cs:292:20:292:32 | ... ? ... : ... | empty | -| E.cs:293:13:293:13 | access to local variable s | non-empty | E.cs:292:20:292:32 | ... ? ... : ... | non-empty | -| E.cs:293:13:293:13 | access to local variable s | non-null | E.cs:292:20:292:20 | access to parameter b | false | -| E.cs:293:13:293:13 | access to local variable s | non-null | E.cs:292:20:292:32 | ... ? ... : ... | non-null | -| E.cs:293:13:293:13 | access to local variable s | null | E.cs:292:20:292:20 | access to parameter b | true | -| E.cs:293:13:293:13 | access to local variable s | null | E.cs:292:20:292:32 | ... ? ... : ... | null | -| E.cs:293:13:293:19 | call to method M2 | non-null | E.cs:293:13:293:13 | access to local variable s | non-null | -| E.cs:293:13:293:19 | call to method M2 | null | E.cs:293:13:293:13 | access to local variable s | null | -| E.cs:293:13:293:24 | ... == ... | true | E.cs:293:13:293:19 | call to method M2 | non-null | -| E.cs:295:13:295:13 | access to local variable s | non-null | E.cs:292:20:292:32 | ... ? ... : ... | non-null | -| E.cs:295:13:295:13 | access to local variable s | null | E.cs:292:20:292:32 | ... ? ... : ... | null | -| E.cs:302:9:302:9 | access to local variable s | empty | E.cs:301:17:301:27 | ... as ... | empty | -| E.cs:302:9:302:9 | access to local variable s | non-empty | E.cs:301:17:301:27 | ... as ... | non-empty | -| E.cs:302:9:302:9 | access to local variable s | non-null | E.cs:301:17:301:27 | ... as ... | non-null | -| E.cs:302:9:302:9 | access to local variable s | null | E.cs:301:17:301:27 | ... as ... | null | -| E.cs:309:13:309:22 | access to property HasValue | false | E.cs:309:13:309:13 | access to field l | null | -| E.cs:309:13:309:22 | access to property HasValue | true | E.cs:309:13:309:13 | access to field l | non-null | -| E.cs:317:22:317:38 | ... ? ... : ... | non-null | E.cs:317:22:317:26 | access to field Field | false | -| E.cs:317:22:317:38 | ... ? ... : ... | non-null | E.cs:317:37:317:38 | "" | non-null | -| E.cs:317:22:317:38 | ... ? ... : ... | null | E.cs:317:22:317:26 | access to field Field | true | -| E.cs:317:22:317:38 | ... ? ... : ... | null | E.cs:317:30:317:33 | null | null | -| E.cs:321:13:321:30 | ... is ... | false | E.cs:321:14:321:21 | ... ?? ... | non-null | -| E.cs:321:13:321:30 | ... is ... | true | E.cs:321:14:321:21 | ... ?? ... | null | -| E.cs:321:14:321:21 | ... ?? ... | null | E.cs:321:14:321:15 | access to parameter s1 | null | -| E.cs:321:14:321:21 | ... ?? ... | null | E.cs:321:20:321:21 | access to parameter s2 | null | -| E.cs:330:17:330:28 | (...) ... | non-null | E.cs:330:25:330:28 | null | non-null | -| E.cs:330:17:330:28 | (...) ... | null | E.cs:330:25:330:28 | null | null | -| E.cs:330:17:330:36 | ... ?? ... | null | E.cs:330:17:330:28 | (...) ... | null | -| E.cs:330:17:330:36 | ... ?? ... | null | E.cs:330:33:330:36 | null | null | -| E.cs:331:9:331:9 | access to local variable x | empty | E.cs:330:17:330:36 | ... ?? ... | empty | -| E.cs:331:9:331:9 | access to local variable x | non-empty | E.cs:330:17:330:36 | ... ?? ... | non-empty | -| E.cs:331:9:331:9 | access to local variable x | non-null | E.cs:330:17:330:36 | ... ?? ... | non-null | -| E.cs:331:9:331:9 | access to local variable x | null | E.cs:330:17:330:36 | ... ?? ... | null | -| E.cs:336:17:336:23 | ... ?? ... | null | E.cs:336:17:336:17 | access to parameter s | null | -| E.cs:336:17:336:23 | ... ?? ... | null | E.cs:336:22:336:23 | "" | null | -| E.cs:337:9:337:9 | access to local variable x | empty | E.cs:336:17:336:23 | ... ?? ... | empty | -| E.cs:337:9:337:9 | access to local variable x | non-empty | E.cs:336:17:336:23 | ... ?? ... | non-empty | -| E.cs:337:9:337:9 | access to local variable x | non-null | E.cs:336:17:336:23 | ... ?? ... | non-null | -| E.cs:337:9:337:9 | access to local variable x | null | E.cs:336:17:336:23 | ... ?? ... | null | -| E.cs:342:17:342:32 | ... ?? ... | null | E.cs:342:17:342:17 | access to parameter s | null | -| E.cs:342:17:342:32 | ... ?? ... | null | E.cs:342:22:342:32 | ... as ... | null | -| E.cs:343:9:343:9 | access to local variable x | empty | E.cs:342:17:342:32 | ... ?? ... | empty | -| E.cs:343:9:343:9 | access to local variable x | non-empty | E.cs:342:17:342:32 | ... ?? ... | non-empty | -| E.cs:343:9:343:9 | access to local variable x | non-null | E.cs:342:17:342:32 | ... ?? ... | non-null | -| E.cs:343:9:343:9 | access to local variable x | null | E.cs:342:17:342:32 | ... ?? ... | null | -| E.cs:348:21:348:36 | ... ?? ... | null | E.cs:348:21:348:21 | access to parameter s | null | -| E.cs:348:21:348:36 | ... ?? ... | null | E.cs:348:26:348:36 | ... as ... | null | -| E.cs:349:9:349:9 | access to local variable x | non-null | E.cs:348:21:348:36 | ... ?? ... | non-null | -| E.cs:349:9:349:9 | access to local variable x | null | E.cs:348:21:348:36 | ... ?? ... | null | -| E.cs:354:21:354:36 | ... ?? ... | null | E.cs:354:21:354:21 | access to parameter s | null | -| E.cs:354:21:354:36 | ... ?? ... | null | E.cs:354:26:354:36 | ... as ... | null | -| E.cs:355:13:355:13 | access to local variable x | non-null | E.cs:354:21:354:36 | ... ?? ... | non-null | -| E.cs:355:13:355:13 | access to local variable x | null | E.cs:354:21:354:36 | ... ?? ... | null | -| E.cs:355:13:355:21 | dynamic call to operator != | false | E.cs:355:13:355:13 | access to local variable x | null | -| E.cs:355:13:355:21 | dynamic call to operator != | true | E.cs:355:13:355:13 | access to local variable x | non-null | -| E.cs:356:13:356:13 | access to local variable x | non-null | E.cs:354:21:354:36 | ... ?? ... | non-null | -| E.cs:356:13:356:13 | access to local variable x | null | E.cs:354:21:354:36 | ... ?? ... | null | -| E.cs:361:17:361:32 | ... ?? ... | null | E.cs:361:17:361:17 | access to parameter s | null | -| E.cs:361:17:361:32 | ... ?? ... | null | E.cs:361:22:361:32 | ... as ... | null | -| E.cs:362:13:362:13 | access to local variable x | empty | E.cs:361:17:361:32 | ... ?? ... | empty | -| E.cs:362:13:362:13 | access to local variable x | non-empty | E.cs:361:17:361:32 | ... ?? ... | non-empty | -| E.cs:362:13:362:13 | access to local variable x | non-null | E.cs:361:17:361:32 | ... ?? ... | non-null | -| E.cs:362:13:362:13 | access to local variable x | null | E.cs:361:17:361:32 | ... ?? ... | null | -| E.cs:362:13:362:29 | ... != ... | false | E.cs:362:13:362:13 | access to local variable x | null | -| E.cs:362:13:362:29 | ... != ... | true | E.cs:362:13:362:13 | access to local variable x | non-null | -| E.cs:362:18:362:29 | (...) ... | non-null | E.cs:362:26:362:29 | null | non-null | -| E.cs:362:18:362:29 | (...) ... | null | E.cs:362:26:362:29 | null | null | -| E.cs:363:13:363:13 | access to local variable x | non-null | E.cs:361:17:361:32 | ... ?? ... | non-null | -| E.cs:363:13:363:13 | access to local variable x | null | E.cs:361:17:361:32 | ... ?? ... | null | -| E.cs:372:13:372:23 | ... is ... | true | E.cs:372:13:372:13 | access to parameter o | non-null | -| E.cs:375:20:375:20 | access to local variable s | empty | E.cs:374:21:374:31 | ... as ... | empty | -| E.cs:375:20:375:20 | access to local variable s | non-empty | E.cs:374:21:374:31 | ... as ... | non-empty | -| E.cs:375:20:375:20 | access to local variable s | non-null | E.cs:374:21:374:31 | ... as ... | non-null | -| E.cs:375:20:375:20 | access to local variable s | null | E.cs:374:21:374:31 | ... as ... | null | -| E.cs:382:13:382:68 | ... \|\| ... | false | E.cs:382:14:382:37 | ... && ... | false | -| E.cs:382:13:382:68 | ... \|\| ... | false | E.cs:382:44:382:67 | ... && ... | false | -| E.cs:382:14:382:23 | ... == ... | false | E.cs:382:14:382:15 | access to parameter e1 | non-null | -| E.cs:382:14:382:23 | ... == ... | true | E.cs:382:14:382:15 | access to parameter e1 | null | -| E.cs:382:14:382:37 | ... && ... | true | E.cs:382:14:382:23 | ... == ... | true | -| E.cs:382:14:382:37 | ... && ... | true | E.cs:382:28:382:37 | ... != ... | true | -| E.cs:382:28:382:37 | ... != ... | false | E.cs:382:28:382:29 | access to parameter e2 | null | -| E.cs:382:28:382:37 | ... != ... | true | E.cs:382:28:382:29 | access to parameter e2 | non-null | -| E.cs:382:44:382:53 | ... != ... | false | E.cs:382:44:382:45 | access to parameter e1 | null | -| E.cs:382:44:382:53 | ... != ... | true | E.cs:382:44:382:45 | access to parameter e1 | non-null | -| E.cs:382:44:382:67 | ... && ... | true | E.cs:382:44:382:53 | ... != ... | true | -| E.cs:382:44:382:67 | ... && ... | true | E.cs:382:58:382:67 | ... == ... | true | -| E.cs:382:58:382:67 | ... == ... | false | E.cs:382:58:382:59 | access to parameter e2 | non-null | -| E.cs:382:58:382:67 | ... == ... | true | E.cs:382:58:382:59 | access to parameter e2 | null | -| E.cs:384:13:384:22 | ... == ... | false | E.cs:384:13:384:14 | access to parameter e1 | non-null | -| E.cs:384:13:384:22 | ... == ... | true | E.cs:384:13:384:14 | access to parameter e1 | null | -| E.cs:384:13:384:36 | ... && ... | true | E.cs:384:13:384:22 | ... == ... | true | -| E.cs:384:13:384:36 | ... && ... | true | E.cs:384:27:384:36 | ... == ... | true | -| E.cs:384:27:384:36 | ... == ... | false | E.cs:384:27:384:28 | access to parameter e2 | non-null | -| E.cs:384:27:384:36 | ... == ... | true | E.cs:384:27:384:28 | access to parameter e2 | null | -| E.cs:404:9:404:9 | access to local variable i | non-null | E.cs:403:18:403:21 | null | non-null | -| E.cs:404:9:404:9 | access to local variable i | null | E.cs:403:18:403:21 | null | null | -| E.cs:404:9:404:18 | ... = ... | non-null | E.cs:404:9:404:9 | access to local variable i | non-null | -| E.cs:404:9:404:18 | ... = ... | non-null | E.cs:404:9:404:18 | ... ?? ... | non-null | -| E.cs:404:9:404:18 | ... = ... | null | E.cs:404:9:404:9 | access to local variable i | null | -| E.cs:404:9:404:18 | ... = ... | null | E.cs:404:9:404:18 | ... ?? ... | null | -| E.cs:404:9:404:18 | ... ?? ... | null | E.cs:404:9:404:9 | access to local variable i | null | -| E.cs:404:9:404:18 | ... ?? ... | null | E.cs:404:15:404:18 | null | null | -| E.cs:405:16:405:16 | access to local variable i | non-null | E.cs:404:9:404:18 | ... ?? ... | non-null | -| E.cs:405:16:405:16 | access to local variable i | null | E.cs:404:9:404:18 | ... ?? ... | null | -| E.cs:411:9:411:9 | access to local variable i | non-null | E.cs:410:18:410:18 | (...) ... | non-null | -| E.cs:411:9:411:9 | access to local variable i | null | E.cs:410:18:410:18 | (...) ... | null | -| E.cs:411:9:411:18 | ... = ... | non-null | E.cs:411:9:411:9 | access to local variable i | non-null | -| E.cs:411:9:411:18 | ... = ... | non-null | E.cs:411:9:411:18 | ... ?? ... | non-null | -| E.cs:411:9:411:18 | ... = ... | null | E.cs:411:9:411:9 | access to local variable i | null | -| E.cs:411:9:411:18 | ... = ... | null | E.cs:411:9:411:18 | ... ?? ... | null | -| E.cs:411:9:411:18 | ... ?? ... | null | E.cs:411:9:411:9 | access to local variable i | null | -| E.cs:411:9:411:18 | ... ?? ... | null | E.cs:411:15:411:18 | null | null | -| E.cs:412:16:412:16 | access to local variable i | non-null | E.cs:411:9:411:18 | ... ?? ... | non-null | -| E.cs:412:16:412:16 | access to local variable i | null | E.cs:411:9:411:18 | ... ?? ... | null | -| E.cs:417:16:417:41 | call to method Any | true | E.cs:417:16:417:18 | access to parameter is | non-empty | -| E.cs:422:13:422:22 | access to property HasValue | false | E.cs:422:13:422:13 | access to parameter i | null | -| E.cs:422:13:422:22 | access to property HasValue | true | E.cs:422:13:422:13 | access to parameter i | non-null | -| E.cs:423:20:423:45 | call to method Any | true | E.cs:423:20:423:22 | access to parameter is | non-empty | -| E.cs:429:13:429:22 | access to property HasValue | false | E.cs:429:13:429:13 | access to parameter i | null | -| E.cs:429:13:429:22 | access to property HasValue | true | E.cs:429:13:429:13 | access to parameter i | non-null | -| E.cs:432:16:432:24 | call to method Any | false | E.cs:432:16:432:18 | access to parameter is | empty | -| E.cs:432:16:432:24 | call to method Any | true | E.cs:432:16:432:18 | access to parameter is | non-empty | -| E.cs:437:13:437:31 | ... && ... | true | E.cs:437:13:437:18 | ... == ... | true | -| E.cs:437:13:437:31 | ... && ... | true | E.cs:437:23:437:31 | ... is ... | true | -| E.cs:437:23:437:31 | ... is ... | false | E.cs:437:23:437:23 | access to parameter s | non-null | -| E.cs:437:23:437:31 | ... is ... | true | E.cs:437:23:437:23 | access to parameter s | null | -| E.cs:442:13:442:39 | ... && ... | true | E.cs:442:13:442:18 | ... == ... | true | -| E.cs:442:13:442:39 | ... && ... | true | E.cs:442:23:442:39 | ... is ... | true | -| E.cs:442:23:442:39 | ... is ... | false | E.cs:442:23:442:23 | access to parameter s | non-null | -| E.cs:447:13:447:35 | ... && ... | true | E.cs:447:13:447:18 | ... == ... | true | -| E.cs:447:13:447:35 | ... && ... | true | E.cs:447:23:447:35 | ... is ... | true | -| E.cs:447:23:447:35 | ... is ... | true | E.cs:447:23:447:23 | access to parameter s | non-null | -| E.cs:452:13:452:33 | ... && ... | true | E.cs:452:13:452:18 | ... == ... | true | -| E.cs:452:13:452:33 | ... && ... | true | E.cs:452:23:452:33 | ... is ... | true | -| E.cs:452:23:452:33 | ... is ... | true | E.cs:452:23:452:23 | access to parameter s | non-null | -| E.cs:457:13:457:27 | ... is ... | false | E.cs:457:13:457:13 | access to parameter s | non-null | -| F.cs:8:9:8:9 | access to local variable o | non-null | F.cs:7:20:7:23 | null | non-null | -| F.cs:8:9:8:9 | access to local variable o | null | F.cs:7:20:7:23 | null | null | -| F.cs:14:9:14:9 | access to local variable o | non-null | F.cs:13:21:13:24 | null | non-null | -| F.cs:14:9:14:9 | access to local variable o | null | F.cs:13:21:13:24 | null | null | -| Forwarding.cs:9:13:9:30 | !... | false | Forwarding.cs:9:14:9:30 | call to method IsNullOrEmpty | true | -| Forwarding.cs:9:13:9:30 | !... | true | Forwarding.cs:9:14:9:30 | call to method IsNullOrEmpty | false | -| Forwarding.cs:9:14:9:14 | access to local variable s | empty | Forwarding.cs:7:20:7:23 | null | empty | -| Forwarding.cs:9:14:9:14 | access to local variable s | non-empty | Forwarding.cs:7:20:7:23 | null | non-empty | -| Forwarding.cs:9:14:9:14 | access to local variable s | non-null | Forwarding.cs:7:20:7:23 | null | non-null | -| Forwarding.cs:9:14:9:14 | access to local variable s | null | Forwarding.cs:7:20:7:23 | null | null | -| Forwarding.cs:9:14:9:30 | call to method IsNullOrEmpty | false | Forwarding.cs:9:14:9:14 | access to local variable s | non-null | -| Forwarding.cs:11:31:11:31 | access to local variable s | non-null | Forwarding.cs:7:20:7:23 | null | non-null | -| Forwarding.cs:11:31:11:31 | access to local variable s | null | Forwarding.cs:7:20:7:23 | null | null | -| Forwarding.cs:14:13:14:13 | access to local variable s | non-null | Forwarding.cs:7:20:7:23 | null | non-null | -| Forwarding.cs:14:13:14:13 | access to local variable s | null | Forwarding.cs:7:20:7:23 | null | null | -| Forwarding.cs:14:13:14:32 | call to method IsNotNullOrEmpty | true | Forwarding.cs:14:13:14:13 | access to local variable s | non-null | -| Forwarding.cs:16:31:16:31 | access to local variable s | non-null | Forwarding.cs:7:20:7:23 | null | non-null | -| Forwarding.cs:16:31:16:31 | access to local variable s | null | Forwarding.cs:7:20:7:23 | null | null | -| Forwarding.cs:19:13:19:23 | !... | false | Forwarding.cs:19:14:19:23 | call to method IsNull | true | -| Forwarding.cs:19:13:19:23 | !... | true | Forwarding.cs:19:14:19:23 | call to method IsNull | false | -| Forwarding.cs:19:14:19:14 | access to local variable s | non-null | Forwarding.cs:7:20:7:23 | null | non-null | -| Forwarding.cs:19:14:19:14 | access to local variable s | null | Forwarding.cs:7:20:7:23 | null | null | -| Forwarding.cs:19:14:19:23 | call to method IsNull | false | Forwarding.cs:19:14:19:14 | access to local variable s | non-null | -| Forwarding.cs:19:14:19:23 | call to method IsNull | true | Forwarding.cs:19:14:19:14 | access to local variable s | null | -| Forwarding.cs:21:31:21:31 | access to local variable s | non-null | Forwarding.cs:7:20:7:23 | null | non-null | -| Forwarding.cs:21:31:21:31 | access to local variable s | null | Forwarding.cs:7:20:7:23 | null | null | -| Forwarding.cs:24:13:24:13 | access to local variable s | non-null | Forwarding.cs:7:20:7:23 | null | non-null | -| Forwarding.cs:24:13:24:13 | access to local variable s | null | Forwarding.cs:7:20:7:23 | null | null | -| Forwarding.cs:24:13:24:25 | call to method IsNotNull | false | Forwarding.cs:24:13:24:13 | access to local variable s | null | -| Forwarding.cs:24:13:24:25 | call to method IsNotNull | true | Forwarding.cs:24:13:24:13 | access to local variable s | non-null | -| Forwarding.cs:26:31:26:31 | access to local variable s | non-null | Forwarding.cs:7:20:7:23 | null | non-null | -| Forwarding.cs:26:31:26:31 | access to local variable s | null | Forwarding.cs:7:20:7:23 | null | null | -| Forwarding.cs:29:13:29:24 | call to method IsNotNull | true | Forwarding.cs:29:23:29:23 | access to local variable s | non-null | -| Forwarding.cs:29:23:29:23 | access to local variable s | non-null | Forwarding.cs:7:20:7:23 | null | non-null | -| Forwarding.cs:29:23:29:23 | access to local variable s | null | Forwarding.cs:7:20:7:23 | null | null | -| Forwarding.cs:31:31:31:31 | access to local variable s | non-null | Forwarding.cs:7:20:7:23 | null | non-null | -| Forwarding.cs:31:31:31:31 | access to local variable s | null | Forwarding.cs:7:20:7:23 | null | null | -| Forwarding.cs:34:13:34:29 | call to method IsNotNullWrong | false | Forwarding.cs:34:28:34:28 | access to local variable s | non-null | -| Forwarding.cs:34:28:34:28 | access to local variable s | non-null | Forwarding.cs:7:20:7:23 | null | non-null | -| Forwarding.cs:34:28:34:28 | access to local variable s | null | Forwarding.cs:7:20:7:23 | null | null | -| Forwarding.cs:36:31:36:31 | access to local variable s | non-null | Forwarding.cs:7:20:7:23 | null | non-null | -| Forwarding.cs:36:31:36:31 | access to local variable s | null | Forwarding.cs:7:20:7:23 | null | null | -| Forwarding.cs:39:25:39:25 | access to local variable s | non-null | Forwarding.cs:7:20:7:23 | null | non-null | -| Forwarding.cs:39:25:39:25 | access to local variable s | null | Forwarding.cs:7:20:7:23 | null | null | -| Forwarding.cs:40:27:40:27 | access to local variable s | non-null | Forwarding.cs:7:20:7:23 | null | non-null | -| Forwarding.cs:40:27:40:27 | access to local variable s | null | Forwarding.cs:7:20:7:23 | null | null | -| Forwarding.cs:45:16:45:26 | ... is ... | true | Forwarding.cs:45:16:45:16 | access to parameter o | non-null | -| Forwarding.cs:45:30:45:61 | !... | false | Forwarding.cs:45:31:45:61 | call to method IsNullOrEmpty | true | -| Forwarding.cs:45:30:45:61 | !... | true | Forwarding.cs:45:31:45:61 | call to method IsNullOrEmpty | false | -| Forwarding.cs:45:31:45:61 | call to method IsNullOrEmpty | false | Forwarding.cs:45:52:45:60 | (...) ... | non-null | -| Forwarding.cs:45:52:45:60 | (...) ... | non-null | Forwarding.cs:45:60:45:60 | access to parameter o | non-null | -| Forwarding.cs:45:52:45:60 | (...) ... | null | Forwarding.cs:45:60:45:60 | access to parameter o | null | -| Forwarding.cs:45:65:45:75 | !... | false | Forwarding.cs:45:66:45:75 | call to method IsNull | true | -| Forwarding.cs:45:65:45:75 | !... | true | Forwarding.cs:45:66:45:75 | call to method IsNull | false | -| Forwarding.cs:45:66:45:75 | call to method IsNull | false | Forwarding.cs:45:66:45:66 | access to parameter o | non-null | -| Forwarding.cs:45:66:45:75 | call to method IsNull | true | Forwarding.cs:45:66:45:66 | access to parameter o | null | -| Forwarding.cs:50:13:50:23 | ... is ... | true | Forwarding.cs:50:13:50:13 | access to parameter o | non-null | -| Forwarding.cs:52:20:52:51 | !... | false | Forwarding.cs:52:21:52:51 | call to method IsNullOrEmpty | true | -| Forwarding.cs:52:20:52:51 | !... | true | Forwarding.cs:52:21:52:51 | call to method IsNullOrEmpty | false | -| Forwarding.cs:52:21:52:51 | call to method IsNullOrEmpty | false | Forwarding.cs:52:42:52:50 | (...) ... | non-null | -| Forwarding.cs:52:42:52:50 | (...) ... | non-null | Forwarding.cs:52:50:52:50 | access to parameter o | non-null | -| Forwarding.cs:52:42:52:50 | (...) ... | null | Forwarding.cs:52:50:52:50 | access to parameter o | null | -| Forwarding.cs:59:13:59:21 | ... == ... | false | Forwarding.cs:59:13:59:13 | access to parameter o | non-null | -| Forwarding.cs:59:13:59:21 | ... == ... | true | Forwarding.cs:59:13:59:13 | access to parameter o | null | -| Forwarding.cs:68:16:68:38 | call to method IsNullOrEmpty | false | Forwarding.cs:68:37:68:37 | access to parameter s | non-null | -| Forwarding.cs:73:16:73:39 | !... | false | Forwarding.cs:73:17:73:39 | call to method IsNullOrEmpty | true | -| Forwarding.cs:73:16:73:39 | !... | true | Forwarding.cs:73:17:73:39 | call to method IsNullOrEmpty | false | -| Forwarding.cs:73:17:73:39 | call to method IsNullOrEmpty | false | Forwarding.cs:73:38:73:38 | access to parameter s | non-null | -| Forwarding.cs:78:16:78:39 | call to method ReferenceEquals | false | Forwarding.cs:78:32:78:32 | access to parameter o | non-null | -| Forwarding.cs:78:16:78:39 | call to method ReferenceEquals | true | Forwarding.cs:78:32:78:32 | access to parameter o | null | -| Forwarding.cs:83:16:83:24 | ... != ... | false | Forwarding.cs:83:16:83:16 | access to parameter o | null | -| Forwarding.cs:83:16:83:24 | ... != ... | true | Forwarding.cs:83:16:83:16 | access to parameter o | non-null | -| GuardedString.cs:7:20:7:32 | ... ? ... : ... | non-null | GuardedString.cs:7:20:7:20 | access to parameter b | false | -| GuardedString.cs:7:20:7:32 | ... ? ... : ... | non-null | GuardedString.cs:7:31:7:32 | "" | non-null | -| GuardedString.cs:7:20:7:32 | ... ? ... : ... | null | GuardedString.cs:7:20:7:20 | access to parameter b | true | -| GuardedString.cs:7:20:7:32 | ... ? ... : ... | null | GuardedString.cs:7:24:7:27 | null | null | -| GuardedString.cs:9:13:9:36 | !... | false | GuardedString.cs:9:14:9:36 | call to method IsNullOrEmpty | true | -| GuardedString.cs:9:13:9:36 | !... | true | GuardedString.cs:9:14:9:36 | call to method IsNullOrEmpty | false | -| GuardedString.cs:9:14:9:36 | call to method IsNullOrEmpty | false | GuardedString.cs:7:20:7:20 | access to parameter b | false | -| GuardedString.cs:9:14:9:36 | call to method IsNullOrEmpty | false | GuardedString.cs:9:35:9:35 | access to local variable s | non-null | -| GuardedString.cs:9:35:9:35 | access to local variable s | empty | GuardedString.cs:7:20:7:32 | ... ? ... : ... | empty | -| GuardedString.cs:9:35:9:35 | access to local variable s | non-empty | GuardedString.cs:7:20:7:32 | ... ? ... : ... | non-empty | -| GuardedString.cs:9:35:9:35 | access to local variable s | non-null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | non-null | -| GuardedString.cs:9:35:9:35 | access to local variable s | null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | null | -| GuardedString.cs:11:31:11:31 | access to local variable s | non-null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | non-null | -| GuardedString.cs:11:31:11:31 | access to local variable s | null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | null | -| GuardedString.cs:14:13:14:41 | !... | false | GuardedString.cs:14:14:14:41 | call to method IsNullOrWhiteSpace | true | -| GuardedString.cs:14:13:14:41 | !... | true | GuardedString.cs:14:14:14:41 | call to method IsNullOrWhiteSpace | false | -| GuardedString.cs:14:14:14:41 | call to method IsNullOrWhiteSpace | false | GuardedString.cs:7:20:7:20 | access to parameter b | false | -| GuardedString.cs:14:14:14:41 | call to method IsNullOrWhiteSpace | false | GuardedString.cs:14:40:14:40 | access to local variable s | non-null | -| GuardedString.cs:14:40:14:40 | access to local variable s | non-null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | non-null | -| GuardedString.cs:14:40:14:40 | access to local variable s | null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | null | -| GuardedString.cs:16:31:16:31 | access to local variable s | non-null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | non-null | -| GuardedString.cs:16:31:16:31 | access to local variable s | null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | null | -| GuardedString.cs:19:13:19:13 | access to local variable s | non-null | GuardedString.cs:7:20:7:20 | access to parameter b | false | -| GuardedString.cs:19:13:19:13 | access to local variable s | non-null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | non-null | -| GuardedString.cs:19:13:19:13 | access to local variable s | null | GuardedString.cs:7:20:7:20 | access to parameter b | true | -| GuardedString.cs:19:13:19:13 | access to local variable s | null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | null | -| GuardedString.cs:19:13:19:21 | access to property Length | non-null | GuardedString.cs:19:13:19:13 | access to local variable s | non-null | -| GuardedString.cs:19:13:19:21 | access to property Length | null | GuardedString.cs:19:13:19:13 | access to local variable s | null | -| GuardedString.cs:19:13:19:26 | ... == ... | true | GuardedString.cs:19:13:19:21 | access to property Length | non-null | -| GuardedString.cs:20:31:20:31 | access to local variable s | non-null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | non-null | -| GuardedString.cs:20:31:20:31 | access to local variable s | null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | null | -| GuardedString.cs:22:13:22:13 | access to local variable s | non-null | GuardedString.cs:7:20:7:20 | access to parameter b | false | -| GuardedString.cs:22:13:22:13 | access to local variable s | non-null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | non-null | -| GuardedString.cs:22:13:22:13 | access to local variable s | null | GuardedString.cs:7:20:7:20 | access to parameter b | true | -| GuardedString.cs:22:13:22:13 | access to local variable s | null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | null | -| GuardedString.cs:22:13:22:21 | access to property Length | non-null | GuardedString.cs:22:13:22:13 | access to local variable s | non-null | -| GuardedString.cs:22:13:22:21 | access to property Length | null | GuardedString.cs:22:13:22:13 | access to local variable s | null | -| GuardedString.cs:22:13:22:25 | ... > ... | true | GuardedString.cs:22:13:22:21 | access to property Length | non-null | -| GuardedString.cs:23:31:23:31 | access to local variable s | non-null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | non-null | -| GuardedString.cs:23:31:23:31 | access to local variable s | null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | null | -| GuardedString.cs:25:13:25:13 | access to local variable s | non-null | GuardedString.cs:7:20:7:20 | access to parameter b | false | -| GuardedString.cs:25:13:25:13 | access to local variable s | non-null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | non-null | -| GuardedString.cs:25:13:25:13 | access to local variable s | null | GuardedString.cs:7:20:7:20 | access to parameter b | true | -| GuardedString.cs:25:13:25:13 | access to local variable s | null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | null | -| GuardedString.cs:25:13:25:21 | access to property Length | non-null | GuardedString.cs:25:13:25:13 | access to local variable s | non-null | -| GuardedString.cs:25:13:25:21 | access to property Length | null | GuardedString.cs:25:13:25:13 | access to local variable s | null | -| GuardedString.cs:25:13:25:26 | ... >= ... | true | GuardedString.cs:25:13:25:21 | access to property Length | non-null | -| GuardedString.cs:26:31:26:31 | access to local variable s | non-null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | non-null | -| GuardedString.cs:26:31:26:31 | access to local variable s | null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | null | -| GuardedString.cs:28:13:28:13 | access to local variable s | non-null | GuardedString.cs:7:20:7:20 | access to parameter b | false | -| GuardedString.cs:28:13:28:13 | access to local variable s | non-null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | non-null | -| GuardedString.cs:28:13:28:13 | access to local variable s | null | GuardedString.cs:7:20:7:20 | access to parameter b | true | -| GuardedString.cs:28:13:28:13 | access to local variable s | null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | null | -| GuardedString.cs:28:13:28:21 | access to property Length | non-null | GuardedString.cs:28:13:28:13 | access to local variable s | non-null | -| GuardedString.cs:28:13:28:21 | access to property Length | null | GuardedString.cs:28:13:28:13 | access to local variable s | null | -| GuardedString.cs:28:13:28:26 | ... < ... | true | GuardedString.cs:28:13:28:21 | access to property Length | non-null | -| GuardedString.cs:29:31:29:31 | access to local variable s | non-null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | non-null | -| GuardedString.cs:29:31:29:31 | access to local variable s | null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | null | -| GuardedString.cs:31:13:31:13 | access to local variable s | non-null | GuardedString.cs:7:20:7:20 | access to parameter b | false | -| GuardedString.cs:31:13:31:13 | access to local variable s | non-null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | non-null | -| GuardedString.cs:31:13:31:13 | access to local variable s | null | GuardedString.cs:7:20:7:20 | access to parameter b | true | -| GuardedString.cs:31:13:31:13 | access to local variable s | null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | null | -| GuardedString.cs:31:13:31:21 | access to property Length | non-null | GuardedString.cs:31:13:31:13 | access to local variable s | non-null | -| GuardedString.cs:31:13:31:21 | access to property Length | null | GuardedString.cs:31:13:31:13 | access to local variable s | null | -| GuardedString.cs:31:13:31:27 | ... <= ... | true | GuardedString.cs:31:13:31:21 | access to property Length | non-null | -| GuardedString.cs:32:31:32:31 | access to local variable s | non-null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | non-null | -| GuardedString.cs:32:31:32:31 | access to local variable s | null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | null | -| GuardedString.cs:34:13:34:13 | access to local variable s | non-null | GuardedString.cs:7:20:7:20 | access to parameter b | false | -| GuardedString.cs:34:13:34:13 | access to local variable s | non-null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | non-null | -| GuardedString.cs:34:13:34:13 | access to local variable s | null | GuardedString.cs:7:20:7:20 | access to parameter b | true | -| GuardedString.cs:34:13:34:13 | access to local variable s | null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | null | -| GuardedString.cs:34:13:34:21 | access to property Length | non-null | GuardedString.cs:34:13:34:13 | access to local variable s | non-null | -| GuardedString.cs:34:13:34:21 | access to property Length | null | GuardedString.cs:34:13:34:13 | access to local variable s | null | -| GuardedString.cs:34:13:34:26 | ... != ... | false | GuardedString.cs:34:13:34:21 | access to property Length | non-null | -| GuardedString.cs:35:31:35:31 | access to local variable s | non-null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | non-null | -| GuardedString.cs:35:31:35:31 | access to local variable s | null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | null | -| GuardedString.cs:37:31:37:31 | access to local variable s | non-null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | non-null | -| GuardedString.cs:37:31:37:31 | access to local variable s | null | GuardedString.cs:7:20:7:32 | ... ? ... : ... | null | -| ImplicitToString.cs:8:23:8:23 | access to local variable o | non-null | ImplicitToString.cs:7:20:7:23 | null | non-null | -| ImplicitToString.cs:8:23:8:23 | access to local variable o | null | ImplicitToString.cs:7:20:7:23 | null | null | -| NullAlwaysBad.cs:9:17:9:25 | ... != ... | false | NullAlwaysBad.cs:9:17:9:17 | access to parameter s | null | -| NullAlwaysBad.cs:9:17:9:25 | ... != ... | true | NullAlwaysBad.cs:9:17:9:17 | access to parameter s | non-null | -| NullAlwaysBad.cs:9:17:9:41 | ... \|\| ... | false | NullAlwaysBad.cs:9:17:9:25 | ... != ... | false | -| NullAlwaysBad.cs:9:17:9:41 | ... \|\| ... | false | NullAlwaysBad.cs:9:30:9:41 | ... > ... | false | -| NullAlwaysGood.cs:9:17:9:25 | ... != ... | false | NullAlwaysGood.cs:9:17:9:17 | access to parameter s | null | -| NullAlwaysGood.cs:9:17:9:25 | ... != ... | true | NullAlwaysGood.cs:9:17:9:17 | access to parameter s | non-null | -| NullAlwaysGood.cs:9:17:9:41 | ... && ... | true | NullAlwaysGood.cs:9:17:9:25 | ... != ... | true | -| NullAlwaysGood.cs:9:17:9:41 | ... && ... | true | NullAlwaysGood.cs:9:30:9:41 | ... > ... | true | -| NullMaybeGood.cs:7:13:7:21 | ... != ... | false | NullMaybeGood.cs:7:13:7:13 | access to parameter o | null | -| NullMaybeGood.cs:7:13:7:21 | ... != ... | true | NullMaybeGood.cs:7:13:7:13 | access to parameter o | non-null | -| StringConcatenation.cs:8:9:8:9 | access to local variable s | empty | StringConcatenation.cs:7:20:7:23 | null | empty | -| StringConcatenation.cs:8:9:8:9 | access to local variable s | non-empty | StringConcatenation.cs:7:20:7:23 | null | non-empty | -| StringConcatenation.cs:8:9:8:9 | access to local variable s | non-null | StringConcatenation.cs:7:20:7:23 | null | non-null | -| StringConcatenation.cs:8:9:8:9 | access to local variable s | null | StringConcatenation.cs:7:20:7:23 | null | null | -| StringConcatenation.cs:8:9:8:18 | ... + ... | non-null | StringConcatenation.cs:8:9:8:9 | access to local variable s | non-null | -| StringConcatenation.cs:8:9:8:18 | ... + ... | non-null | StringConcatenation.cs:8:14:8:18 | "abc" | non-null | -| StringConcatenation.cs:8:9:8:18 | ... + ... | null | StringConcatenation.cs:8:9:8:9 | access to local variable s | null | -| StringConcatenation.cs:8:9:8:18 | ... = ... | empty | StringConcatenation.cs:8:9:8:9 | access to local variable s | empty | -| StringConcatenation.cs:8:9:8:18 | ... = ... | empty | StringConcatenation.cs:8:9:8:18 | ... + ... | empty | -| StringConcatenation.cs:8:9:8:18 | ... = ... | non-empty | StringConcatenation.cs:8:9:8:9 | access to local variable s | non-empty | -| StringConcatenation.cs:8:9:8:18 | ... = ... | non-empty | StringConcatenation.cs:8:9:8:18 | ... + ... | non-empty | -| StringConcatenation.cs:8:9:8:18 | ... = ... | non-null | StringConcatenation.cs:8:9:8:9 | access to local variable s | non-null | -| StringConcatenation.cs:8:9:8:18 | ... = ... | non-null | StringConcatenation.cs:8:9:8:18 | ... + ... | non-null | -| StringConcatenation.cs:8:9:8:18 | ... = ... | null | StringConcatenation.cs:8:9:8:9 | access to local variable s | null | -| StringConcatenation.cs:8:9:8:18 | ... = ... | null | StringConcatenation.cs:8:9:8:18 | ... + ... | null | -| StringConcatenation.cs:9:13:9:13 | access to local variable s | empty | StringConcatenation.cs:8:9:8:18 | ... + ... | empty | -| StringConcatenation.cs:9:13:9:13 | access to local variable s | non-empty | StringConcatenation.cs:8:9:8:18 | ... + ... | non-empty | -| StringConcatenation.cs:9:13:9:13 | access to local variable s | non-null | StringConcatenation.cs:8:9:8:18 | ... + ... | non-null | -| StringConcatenation.cs:9:13:9:13 | access to local variable s | null | StringConcatenation.cs:8:9:8:18 | ... + ... | null | -| StringConcatenation.cs:15:16:15:22 | ... != ... | false | StringConcatenation.cs:15:16:15:16 | access to local variable s | non-null | -| StringConcatenation.cs:22:16:22:22 | ... != ... | false | StringConcatenation.cs:22:16:22:16 | access to local variable s | non-null | -| StringConcatenation.cs:23:13:23:22 | ... + ... | non-null | StringConcatenation.cs:23:13:23:13 | access to local variable s | non-null | -| StringConcatenation.cs:23:13:23:22 | ... + ... | non-null | StringConcatenation.cs:23:18:23:22 | "abc" | non-null | -| StringConcatenation.cs:23:13:23:22 | ... + ... | null | StringConcatenation.cs:23:13:23:13 | access to local variable s | null | -| StringConcatenation.cs:23:13:23:22 | ... = ... | empty | StringConcatenation.cs:23:13:23:13 | access to local variable s | empty | -| StringConcatenation.cs:23:13:23:22 | ... = ... | empty | StringConcatenation.cs:23:13:23:22 | ... + ... | empty | -| StringConcatenation.cs:23:13:23:22 | ... = ... | non-empty | StringConcatenation.cs:23:13:23:13 | access to local variable s | non-empty | -| StringConcatenation.cs:23:13:23:22 | ... = ... | non-empty | StringConcatenation.cs:23:13:23:22 | ... + ... | non-empty | -| StringConcatenation.cs:23:13:23:22 | ... = ... | non-null | StringConcatenation.cs:23:13:23:13 | access to local variable s | non-null | -| StringConcatenation.cs:23:13:23:22 | ... = ... | non-null | StringConcatenation.cs:23:13:23:22 | ... + ... | non-null | -| StringConcatenation.cs:23:13:23:22 | ... = ... | null | StringConcatenation.cs:23:13:23:13 | access to local variable s | null | -| StringConcatenation.cs:23:13:23:22 | ... = ... | null | StringConcatenation.cs:23:13:23:22 | ... + ... | null | -| StringConcatenation.cs:30:9:30:9 | access to local variable s | empty | StringConcatenation.cs:29:20:29:24 | "abc" | empty | -| StringConcatenation.cs:30:9:30:9 | access to local variable s | non-empty | StringConcatenation.cs:29:20:29:24 | "abc" | non-empty | -| StringConcatenation.cs:30:9:30:9 | access to local variable s | non-null | StringConcatenation.cs:29:20:29:24 | "abc" | non-null | -| StringConcatenation.cs:30:9:30:9 | access to local variable s | null | StringConcatenation.cs:29:20:29:24 | "abc" | null | -| StringConcatenation.cs:30:9:30:17 | ... + ... | non-null | StringConcatenation.cs:30:9:30:9 | access to local variable s | non-null | -| StringConcatenation.cs:30:9:30:17 | ... + ... | non-null | StringConcatenation.cs:30:14:30:17 | null | non-null | -| StringConcatenation.cs:30:9:30:17 | ... + ... | null | StringConcatenation.cs:30:14:30:17 | null | null | -| StringConcatenation.cs:30:9:30:17 | ... = ... | empty | StringConcatenation.cs:30:9:30:9 | access to local variable s | empty | -| StringConcatenation.cs:30:9:30:17 | ... = ... | empty | StringConcatenation.cs:30:9:30:17 | ... + ... | empty | -| StringConcatenation.cs:30:9:30:17 | ... = ... | non-empty | StringConcatenation.cs:30:9:30:9 | access to local variable s | non-empty | -| StringConcatenation.cs:30:9:30:17 | ... = ... | non-empty | StringConcatenation.cs:30:9:30:17 | ... + ... | non-empty | -| StringConcatenation.cs:30:9:30:17 | ... = ... | non-null | StringConcatenation.cs:30:9:30:9 | access to local variable s | non-null | -| StringConcatenation.cs:30:9:30:17 | ... = ... | non-null | StringConcatenation.cs:30:9:30:17 | ... + ... | non-null | -| StringConcatenation.cs:30:9:30:17 | ... = ... | null | StringConcatenation.cs:30:9:30:9 | access to local variable s | null | -| StringConcatenation.cs:30:9:30:17 | ... = ... | null | StringConcatenation.cs:30:9:30:17 | ... + ... | null | -| StringConcatenation.cs:31:13:31:13 | access to local variable s | empty | StringConcatenation.cs:30:9:30:17 | ... + ... | empty | -| StringConcatenation.cs:31:13:31:13 | access to local variable s | non-empty | StringConcatenation.cs:30:9:30:17 | ... + ... | non-empty | -| StringConcatenation.cs:31:13:31:13 | access to local variable s | non-null | StringConcatenation.cs:30:9:30:17 | ... + ... | non-null | -| StringConcatenation.cs:31:13:31:13 | access to local variable s | null | StringConcatenation.cs:30:9:30:17 | ... + ... | null | diff --git a/csharp/ql/test/query-tests/Nullness/Implications.ql b/csharp/ql/test/query-tests/Nullness/Implications.ql deleted file mode 100644 index 8f2656166466..000000000000 --- a/csharp/ql/test/query-tests/Nullness/Implications.ql +++ /dev/null @@ -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) -} diff --git a/csharp/ql/test/query-tests/Nullness/NullAlways.expected b/csharp/ql/test/query-tests/Nullness/NullAlways.expected index f432be31d5ad..a633c4a15064 100644 --- a/csharp/ql/test/query-tests/Nullness/NullAlways.expected +++ b/csharp/ql/test/query-tests/Nullness/NullAlways.expected @@ -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 | diff --git a/csharp/ql/test/query-tests/Nullness/NullCheck.expected b/csharp/ql/test/query-tests/Nullness/NullCheck.expected index e8b9a30e5d16..ada1054f02c6 100644 --- a/csharp/ql/test/query-tests/Nullness/NullCheck.expected +++ b/csharp/ql/test/query-tests/Nullness/NullCheck.expected @@ -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 | diff --git a/csharp/ql/test/query-tests/Nullness/NullCheck.ql b/csharp/ql/test/query-tests/Nullness/NullCheck.ql index 4dbd80b78771..5ab3414b9712 100644 --- a/csharp/ql/test/query-tests/Nullness/NullCheck.ql +++ b/csharp/ql/test/query-tests/Nullness/NullCheck.ql @@ -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 diff --git a/csharp/ql/test/query-tests/Nullness/NullMaybe.expected b/csharp/ql/test/query-tests/Nullness/NullMaybe.expected index ce9b6d8b1829..6a0d8372e3ec 100644 --- a/csharp/ql/test/query-tests/Nullness/NullMaybe.expected +++ b/csharp/ql/test/query-tests/Nullness/NullMaybe.expected @@ -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 | diff --git a/shared/controlflow/codeql/controlflow/Guards.qll b/shared/controlflow/codeql/controlflow/Guards.qll index 74fefbb4e39c..17aee2a7caee 100644 --- a/shared/controlflow/codeql/controlflow/Guards.qll +++ b/shared/controlflow/codeql/controlflow/Guards.qll @@ -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 ) } }